Scientific journal PHYSICAL AND MATHEMATICAL EDUCATION
Has been issued since 2013.
Науковий журнал Ф1ЗИКО-МАТЕМАТИЧНА ОСВ1ТА
Видасться з 2013.
http://fmo-journal.fizmatsspu.sumy.ua/
Мулеса О.Ю., Гече Ф.Е., 1мре Ю.Ю. Навчання основам комушкаци з сервером в РНР. Ф'!зико-математична освта. 2019. Випуск 1(19). С. 142-147.
Mulesa O., Geche F., Imre Yu. Teaching The Basis Of Communication With The Server In PHP. Physical and Mathematical Education. 2019. Issue 1(19). Р. 142-147.
DOI 10.31110/2413-1571-2019-019-1-022 УДК 378.147.001.76.004
О.Ю. Мулеса
ДВНЗ «Ужгородський нацюнальний ушверситет», Украна
[email protected] ORCID: 0000-0002-6117-5846 Ф.Е. Гече
ДВНЗ «Ужгородський нацюнальний ушверситет», Украна
[email protected] ORCID: 0000-0002-4757-9828 Ю.Ю. 1мре
ДВНЗ «Ужгородський нацюнальний ушверситет», Украна
Yuliy. [email protected]. ua ORCID: 0000-0001-5511-5815
НАВЧАННЯ ОСНОВАМ КОМУН1КАЦП З СЕРВЕРОМ В РНР
АНОТАЦ1Я
Невпинний розвиток iнформацiйних технологiй спричиняе Heo6xidHicmb адаптацп навчальних nnaHiB з подготовки фахiвцiв pi3Hux галузей в'дпов'дно до потреб та виклиюв сучасностi. Особливо це характерно для специальности 1Т-сфери. Це робить неможливим повноц'шне використання снуючих методичних розробок та породжуе потребу в розробц нових методик навчання ключових тем.
Формулювання проблеми. Серверне програмування - один з важливих компонент'ю осв'тшх програм з пдготовки фахiвцiв 1Т сфери. Серверы! мови програмування е нструментом для реалiзацü' взаемодй' кл 'ента та сервера. Однею з таких мов е РНР. I, хоча, основн конструкцй' РНР схожi на конструкцй' деяких iнших мов програмування, таких як, наприклад, С, С++ або Java, проте, ця мова мае сво'(особливостi, що робить ii несхожою на тш'! мови програмування. Це пов'язано з особливстю реал'зацИ протоколу HTTP, а також з поняттям пер'оду iснування змнних. Анал'з актуальних досл'джень показав, що дана тема е недостатньо розкритою у навчально-методичних розробках i мститься т'льки у джерелах, призначених для досв'дчених розробникiв веб-додатшв. Таким чином, розробка методики навчання теми «Методи передачi параметр'в в РНР» е актуальною на даному етат.
Матер/'али i методи. В ходi досл 'дження були використанi так теоретичнi методи як аналiз, синтез узагальнення, пояснення тощо.
Результати. Розроблена авторська методика, яка базуеться на розбиттi процесу навчання дано! теми на логiчно взаемопов'язан'1 етапи. Р'зн'1 етапи стосуються знайомства з р'зними технолог'ями, якими необхiдно володти для реалiзацü' механ'зм'в передачi даних в'д кл'ента до сервера та iх опрацювання. Такий тдх'д дозволить за коротший час, без додатковихзнань про мову розмтки HTML та технологию «клиент-сервер», розробляти серверш частини веб-додатшв.
Висновки. Запропонована методика може бути використана викладачами вуз'ю в процеа навчання спор'днених з розглянутою темою тем. Надалi доцльним е ознайомлення з механзмом сесПта прийомами взаемодй'РНР з базами даних.
КЛЮЧОВ1 СЛОВА: РНР, метод GET, метод POST, HTML форма, перод снування зм'1нних.
ВСТУП
Постановка проблеми. Невпинний розвиток шформацшних технолопй спонукае навчальн заклади неперервно змшювати як caMi навчальн дисциплши, пов'язан з вивченням та використанням Ыформацмних технолопй, так i ix змктове наповнення. Особливо це властиве навчальним планам спещальностей з тдготовки фaxiвцiв 1Т-сфери. Там змши змкту навчальних дисциплЫ спричиняють необхщысть частого оновлення навчально-методичних розробок вщповщно до потреб навчального процесу.
Одним з нaпрямiв програмування, який, як правило, е компонентом тдготовки фaxiвцiв 1Т-сфери, е серверне програмування. Серверы мови програмування е Ыструментом для створення веб-сторЫок. РНР - одна з таких мов.
ISSN 2413-158X (online) ISSN 2413-1571 (print)
Мова РНР - скриптова мова програмування, призначена для генерацп HTML-cropiHOK на CTopoHi сервера. При навчанн основам цieí мови програмування особливу увагу слiд звернути на Ti 'ii особливостi, якi пов'язанi з реалiзацieю технологи «^ент-сервер», та ям суттево вiдрiзняють i'i вiд Ыших мов програмування високого рiвня.
Одыею з ключових особливостей мови РНР е способи i методи передачi даних вiд користувача до веб-додатку, а також в ходi роботи самого додатку. Саме вщ опанування студентами ще'' теми залежать ix подальшл успiхи в розробцi веб-додатюв.
Таким чином, актуальною е розробка методики навчання тем, пов'язаних з використанням мови РНР при створены веб-додатюв. Проте, варто зазначити, що ^м сптьних з iншими мовами програмування структур, РНР притаманн особливосп, якi утруднюють розумiння та вивчення ще'' мови. Цi особливостi спричинюе як те, що мова РНР на сторон сервера генеруе HTML-сторшки, так i те, що мiж Тентом i сервером немае постшного зв'язку. Тому, е ряд тем, ям потребують детальнiшого вивчення студентами, незалежно вщ ix попереднix навимв у програмуваннi. Серед цих тем важливе мкце посiдае тема, пов'язана з комунта^ею з сервером, тобто передачею параметрiв вiд ^ента до сервера у веб-додатках.
Аналiз актуальних дослiджень. Аналiз навчально-методичних джерел свiдчить про те, що саме вивченню мови програмування РНР присвячена невелика кшьмсть методичних розробок. Вс вони мктять тiльки загальнi особливостi використання ще'' мови програмування (Росс, 2010). 1ншу групу джерел утворюють електроннi ресурси, як мiстять систематизований виклад теоретичного матерiалу та призначенi для використання професшними веб-розробниками. Проте, 'х використання у навчальному процес вузу е утрудненим. Також, важливе мiсце посщають джерела, в яких викладен Ыновацмы методи навчання (Бистрова, 2015; Семчук, 2014).
Мета статп. Таким чином, метою статп е розробка авторсько' методики навчання теми «Методи передачi параметрiв в РНР».
МЕТОДИ ДОСЛ1ДЖЕННЯ
В xодi дослiдження були використан такi теоретичнi методи як аналiз, синтез, узагальнення, пояснення, тощо, що дозволило систематизувати теоретичний матерiал та подати його у зрозумтому виглядк
РЕЗУЛЬТАТИ ДОСЛ1ДЖЕННЯ ТА IX ОБГОВОРЕННЯ
Нами пропонуеться розроблена авторська методика навчання теми «Методи передачi параметрiв в РНР». Особливiстю запропонованого пщходу е те, що матерiал лопчно згрупований в декiлька взаемопов'язаних бломв. Кожен блок мае бути вивчений студентами окремо. Проте, в xодi вивчення блоюв треба прослiдковувати зв'язок мiж ними в контекстi методiв передачi параметрiв. Обов'язковим елементом такого пщходу е закрпiлення отриманих знань через розв'язування рiзниx задач, шляхом складання достатньо' кiлькостi програм. Такий пщхщ дозволить за коротший час, без додаткових знань про мову розмгтки HTML та технолопю «^ент-сервер», розробляти сервернi частини веб-додаткiв.
Зупинимося на цьому бтьш детально.
Представимо лопчну схему викладення матерiалу за темою «Методи передачi параметрiв в РНР» на рис. 1.
Рис. 1.
Лопчна послщовнкть зазначених nyHKTiB утворюе план викладення матерiалу за вказаною темою. Розглянемо детальнiше кожен з пункпв плану.
1. Oco6nueocmi серверно! скриптовоi мови РНР та i'i eidMiHHicmb eid iнших мов програмування високого рiвня.
На етат створення веб-додатмв часто виникае необхщысть забезпечення можливост виконання додатком певних дiй на боц сервера. Це може бути як отримання Ыформацп з баз даних, перевiрка правильностi введення лопыв та паролiв, так i шшл задачi. Для реалiзацií таких можливостей часто використовують засоби скриптово' мови програмування РНР.
Для того, щоб окреслити основы особливост мови РНР, ям роблять ii вiдмiнною вщ iншиx мов програмування високого рiвня необxiдно охарактеризувати властивостi технологи «^ент-сервер» на базi яко' i працюють веб-додатки.
В навчальних поабниках часто зустрiчаеться таке визначення технологи «^ент-сервер»:
Теxнологiя клiент-сервер — це особливий споаб взаемодп комп'ютерiв в мережу при якому один з комп'ютерiв (сервер) надае сво' ресурси Ышому комп'ютеру (клiентовi).
Теxнологiю клiент - сервер можна описати наступним алгоритмом (Сайт mazsola.iit.uni-miskolc.hu, 2018):
- ^ент формуе i посилае запит до бази даних серверу, вiрнiше - до програми, яка обробляе запити;
- ця програма проводить мантуляци з базами даних, що знаходяться на серверу у вщповщност з запитом, формуе результат i передае його ^енту;
- клiент отримуе результат, вщображае його на диспле' i чекае подальших дiй користувача. Цикл повторюеться до того часу, поки користувач не завершить роботу з сервером.
В штернет мережах дан мiж клiентом i сервером зазвичай передаються за протоколом HTTP, особливктю якого е вщсутысть постшного з'еднання мiж клiентом та сервером. Це означае, що коли в процес роботи веб-додатку виникае необхщысть забезпечення збереження промiжниx даних, потрiбно використовувати додатковi меxанiзми. Врахування саме ще' особливостi е дуже важливим при вивченн меxанiзмiв передачi параметрiв в РНР.
2. Методи nepeda4i даних eid кл'!ента до сервера.
Щоб створювати ефективн веб-додатки необхщно чп^ко розумiти як передаються дан з веб-сторiнки на сервер. Найчаспше для органiзацií тако' передачi даних використовують один з двох методiв передача метод GET та метод POST. Вони мають вщмшност у способi формування HTTP-запиту (Сайт htmlbook.ru, 2018). Основы риси наведен в табл.1.
Таблиця 1
Особливост реалiзацГí методiв передачi даних
Ознака Метод GET Метод POST
Споаб передачi даних Через веб-форму; Через URL сторшки Ттьки через веб-форму
Вид даних для передач'1 Ттьки числов^текст^ дан Дозволяе передавати також i файли
Обмеження обсягу даних для передач'1 Обмежено максимально-допустимою довжиною URL, яка залежить вщ налаштувань браузера та сервера Не мае обмежень
Безпека даних Даы, що передаються вщображеы в URL, що робить 'х видимими для користувача Дан не вщображеы в URL
Можливкть додавання згенеровано)' сторнки в закладки Сторшку неможливо додати в закладки СторЫку можливо додати в закладки
Таким чином, при виборi способу передачi даних, необхщно зважувати особливостi кожного з методiв. 3. Способи взаемодп РНР з формами HTML
Одним i3 способiв передачi даних в^д ^ента до сервера е заповнення та вщправка клieнтом HTML форми. Для того, щоб розмктити форму на веб-сторшку використовують тег <form> </form>, атрибути якого розмiщенi в таблицу (Сайт htmlbook.ru, 2018):
Таблиця2
Деяк атрибути тегу <form>
Атрибут Призначення
accept-charset встановлюе кодування, в якому сервер може приймати та обробляти дан
action адреса програми, який обробляе дан форми
autocomplete вмикае автозаповнення полiв форми
enctype споаб кодування даних форми
method метод передачi даних
name iм'я форми
Основним призначенням форми е обмiн даними мiж користувачем та сервером. Для передачi даних з форми на сервер використовують кнопку типу submit. Мехаызм вщправки даних е таким: браузер формуе пари виду iм'я=значення та вщправляе Ух за адресою, вказаною в атрибутi форми action. 1мена даних вказуеться у вщповщних елементах форми в атрибутах name. Значення вводить сам користувач. Деяк елементи форм, призначен для взаемодп користувача з сервером, наведен в таблиц (Сайт htmlbook.ru, 2018).
Таблиця 3
Елементи HTML форм, призначеш для взаемодп користувача з сервером
Елемент форми Призначення
<input> створюе рiзнi елементи Ытерфейсу та забезпечити взаемодiю з користувачем
<textarea> поле з текстом
<button> кнопка
<select> список, що розкриваеться, а також список з множинним вибором
Найпоширеншим елементом форм е тег <input> , який дозволяе створити pi3Hi елементи форми (табл. 4) (Сайт css.in.ua, 2018):
Таблиця4
Елементи тегу <input>
Тип Опис
button кнопка
checkbox прапорц для вибору одного або дектькох варiантiв
file поле для вводу iменi файлу, що надсилаеться серверу
hidden приховане поле
image малюнок, який тсля натискання на нього, вщправляе форму на сервер
password поле для вводу пароля
radio радю-кнопка
reset кнопка для скидання значень полiв форми в початковий стан
submit кнопка для вщправки даних на сервер
text текстове поле для вводу даних з клавiатури
Слщ зазначити, що на однiй сторiнцi можна розмЩувати будь-яку кiлькiсть форм, проте, при вщправщ на сервер будуть переданi тiльки данi з форми, на якiй було натиснено кнопку submit.
4. Перод diï (¡снування) зм1нних. На наступному етат вивчення механiзмiв передачi параметрiв вщ ^ента до сервера та ïx iнтерпретацiï сервером необхiдно повернутися до методiв передачi даних з використанням форм (Сайт php.net, 2018; Сайт www.php.su, 2018).
При передачi даних методами GET або POST на серверi утворюються вщповщн елементи асо^ативних масивiв $_GET або $_POST, елементи яких мають назви, якi ствпадають з назвами вiдповiдниx елементiв форми. Також, доступ до даних елемент можна отримати через асощативний масив $_REQUEST, незалежно вщ використаного методу передачi даних. Цi елементи починають iснувати в момент, коли сервер отримуе дан в^д клiента та перестають iснувати пiсля iнтерпретацiï php коду та генерацп результуючо'|' html сторЫки.
Для перевiрки iснування вщповщних елементiв в php використовують функщю isset(3MiHHa), яка повертае true, якщо змiнна iснуе i false в протилежному випадку.
5. Приклади розв'язування задач ¡з застосуванням мехашзмш передачi та опрацювання даних засобами HTML та РНР.
Приклад 1. Реалiзацiя першого етапу аутентифтацп користувача - вводу лопну.
<?php
if (!isset($_GET['login'])){ ?>
<form action-'" method="get">
Введiть свое iм'я <input type="text" name="login"></br> <input type="submit" value="Вiдправити"> </form>
<?php } else {
echo "Hello, ".$_GET['login']."!";
}
?>
При завантаженн сторiнки в браузерi користувач побачить наступне (рис.2). Пiсля вводу iменi користувачем та натискання на кнопку «Вщправити» сторiнка стане наступною (рис.3).
Рис. 2.
Рис. 3.
Як видно з рисун^в, при використанн методу GET, дан якi передаються, вiдображаються в URL сторiнки. Елементом форми е текстове поле з атрибутом name="login", таким чином, тсля вiдправки форми за допомогою елементу <input type="submit">, на серверi утворюеться елемент масиву $_GET['login'], який приймае те значення, що було введено користувачем у форму.
Приклад 2. Реалiзацiя реестрацшно!' форми.
<?php
if (!isset($_POST['login'])){
?>
<form action="" method="post">
Введiть свое i/м'я <input type="text" name="login"></br> Обергть факультет: </br>
<input type="radio" name="faculty" value="math" checked="checked"> Математичний </br> <input type="radio" name="faculty" value="hist"> 1сторичний </br> <input type="radio" name="faculty" value="econ"> Економiчний </br> </br>
Зазначте piK навчання </br>
<input type="radio" name="year" value="first" checked="checked"> Перший </br> <input type="radio" name="year" value="second"> Другий </br> <input type="radio" name="year" value="third"> Тpетiй </br> <input type="radio" name="year" value="fourth"> Четвертий </br> <input type="submit" value="Вiдпpавити"> </form>
<?php } else { switch($_POST['faculty']){ case "math": $faculty="математичного"; break; case "hist": $faculty="iстоpичного"; break; case "econ": $faculty="економiчного"; break;
}
switch($_POST['year']){ case "first": $year="пеpшого"; break; case "second": $year-^pyroro"; break; case "third": $year="тpетього"; break; case "fourth": $year="четвеpтого"; break;
}
echo "Привп- , ".$_POST['login']."!</br>";
echo "Ви увiйшли як студент ".$faculty." факультету ".$year." року навчання.";
} ?>
При завантаженн сторiнки в 6pay3epi користувач побачить наступне (рис. 4). Шсля вводу користувачем iMeHi та натискання на кнопку «Вщправити» сторiнка стане наступною (рис. 5).
Рис. 4.
Рис. 5.
Як можна побачити з прикладу, на сторшц було розмщено два блоки радю-кнопок. Для того, щоб перемикачi були логiчно об'eднанi в один блок - вони мають мати одне i те ж значення атрибуту name та рiзнi значення атрибуту value. При передачi даних на серверi утворюеться вiдповiдний елемент асо^ативного масиву $_POST з тим самим iменем, яке було зазначене в атрибут name. Ця змЫна приймае значення, яке вiдповiдаe атрибуту value вибраного користувачем перемикача.
Аналопчним чином вщбуваеться передача даних з Ыших елементiв форми.
ВИСНОВКИ ТА ПЕРСПЕКТИВИ ПОДАЛЬШОГО ДОСЛ1ДЖЕННЯ
Дослiдження присвячено розробц авторсько!' методики навчання теми «Методи передачi параметрiв в РНР». Дана тема е одыею з ключових на етапi розгляду питань, пов'язаних iз взаeмодieю клieнта та сервера. В методик
запропоновано розбити процес навчання на послщовы взаемопов'язан етапи, якi включають вивчення рiзних технологiй та шструмен^в ,таких як технологiя «^ент-сервер», форми в мовi розмiтки HTML, та, власне, глобальн асоцiативнi масиви в РНР.
Наступним етапом у вивченн способiв передачi даних та взаемодп клieнта та сервера мае бути знайомство з мехаызмом сесп, який дозволяе збер^ати в глобальних асощативних масивах данi, якi передаються та створюються пiсля рiзних HTTP-запитiв вщ одного i того ж ^ента, а також опанування прийомами роботи з базами даних засобами РНР.
Оволодшня такими навичками дозволить студентам устшно створювати веб-додатки, якi коректно реалiзовують, наприклад, процес аутентифiкацií користувача на веб-ресурсi з використанням мови РНР.
Список використаних джерел
1. Бистрова Ю. В. 1нновацшы методи навчання у вищм школi Украши. Право та iнновацiйне суспльство. 2015. №1(4). С.27-33.
2. Росс В. С. Создание сайтов: HTML, CSS, PHP, MySQL. Учебное пособие, М.:МГДД(Ю)Т, 2010. Ч.1. 107 с.
3. Семчук С. I. Сучасш освпн орiентири запровадження iнформацiйних технологiй в педагопчний процес вищих навчальних закладiв. Проблемы современного педагогического образования. 2014. 44-2. С.238-247.
4. Client Server Architecture. URL: http://mazsola.iit.uni-miskolc.hu/tempus/discom/doc/db/tema02.pdf_ (Дата звернення 01.03.2019)
5. Сайт, присвячений мовi PHP. URL: http://php.net/. (Дата звернення 01.03.2019).
6. Сайт, присвячений мовi PHP. URL: http://www.php.su/_(Дата звернення 01.03.2019).
7. Справочник по HTML. URL: http://htmlbook.ш/html_(Дата звернення 01.03.2019).
8. Украшський веб-довщник. URL: https://css.in.ua/ (Дата звернення 01.03.2019).
References
1. Bystrova, Yu. V. (2015). Innovatsiini metody navchannia u vyshchii shkoli Ukrainy [Innovative teaching methods in higher education in Ukraine]. Pravo ta innovatsiine suspilstvo - Law and Innovation Society. №1(4). 27-33. [In Ukrainian].
2. Ross, V. S. (2010). Sozdanie sajtov: HTML, CSS, PHP, MySQL. [Creating websites: HTML, CSS, PHP, MySQL.]. M, MGDD(Ju)T, Ch.1., 107. [In Russian].
3. Semchuk, S. I. (2014). Suchasni osvitni oriientyry zaprovadzhennia informatsiinykh tekhnolohii v pedahohichnyi protses vyshchykh navchalnykh zakladiv. [Modern educational guidelines for the introduction of information technology in the pedagogical process of higher education institutions]. Problemy sovremennoho pedahohycheskoho obrazovanyia - Problems of modern teacher education, 44-2, 238-247. [In Ukrainian].
4. Client Server Architecture. Retrieved from http://mazsola.iit.uni-miskolc.hu/tempus/discom/doc/db/tema02.pdf [In English].
5. Sait, prysviachenyi movi PHP [Site, assignments of PHP]. Retrieved from http://php.net/. [In English].
6. Sait, prysviachenyi movi PHP [Site, assignments of PHP.]. Retrieved from http://www.php.su/. [In Russian].
7. Spravochnik po HTML [HTML Reference Book]. Retrieved from http://htmlbook.ru/html. [In Russian].
8. Ukrajinsjkyj veb-dovidnyk [Ukrainian web directory]. Retrieved from https://css.in.ua/. [In Ukrainian].
TEACHING THE BASIS OF COMMUNICATION WITH THE SERVER IN PHP Oksana Mulesa, Fedir Geche, Yuliy Imre
Uzhhorod National University, Ukraine Abstract. Evolution of information technologies causes needing of improvement of courses for students various areas according to demand and challenges of nowadays. It's especially inherent for information technologies branch. This means we cannot continue using existing teaching methods and originates demand for developing new methods of teaching key subjects. Formulation of the problem. Server-side development is one of important part all the teaching programs for growing proficient in information technologies. Server-side languages are using to implement communication between client and server. One of them is PHP. Besides similarity to C/C++ and Java, it's quite different, because of a way of implementation of HTTP and live period of variables. Analysis of the latest researches shows that the subject is not fully covered in existing teaching methods. Information is mainly available only for experienced web-developers. That's why elaboration of teaching methods of subject "Methods of parameters transferring in PHP" is still topical.
Materials and methods. During the research, such theoretical methods like analysis, generalization, explanation, etc. were used. Results. The author's technique is based on the splitting of a teaching process of this subject to logically connected steps. Different steps are connected to an introduction to various technologies which are necessary for implementing client-server communication and data processing. Such an approach allows us to develop server-side applications in a short time without additional classes about HTML and client-server technology.
Conclusions. Given method can be used by university teachers to teach similar subjects. Further is expedient familiarizing with sessions and databases usage.
Keywords: PHP, GET method, POST method, HTML form, live period of variables.