Формуляр php. Начини за комуникация между браузъра и сървъра. Кой метод трябва да се използва
Оставете коментар 6,950
Добър ден на всички. Алексей Гулинин е във връзка. В последната статия научихте какво представлява сериализацията в php. В тази статия бих искал да говоря за това как да работя с формуляри в PHP. PHP езике предназначена за уеб скриптове и обработката на формуляри е може би най-важната в този процес. В днешно време няма да попаднете на сайтове, в които например няма да има регистрация или формуляр обратна връзка, или въпросник. Форуми, онлайн магазини, добавяне на коментар, изпращане на съобщение до социална мрежа- всичко това е обработка на данни, поставени в полетата на формуляра. Нека използваме пример, за да разберем как процесни форми в PHP. Ние ще приложим проста задача: трябва да създадете 2 полета (има и фамилия), прехвърлете тези данни в скрипта action.php, в резултат на което трябва да излезе поздрав „Добре дошли, фамилно име собствено име“... Кой е забравил как се създават формуляри и какви полета има, можете да видите. Нека създадем файл test.html:
Моля, имайте предвид, че файлът action.php (в нашия случай) трябва да се намира в същата папка като файла test.html. Тук можете да посочите както относителни, така и абсолютни пътища... Бъдете внимателни, много грешки са свързани с неправилно посочване на пътя към скрипта за обработка на формуляри.
Нека създадем файл action.php със следното съдържание:
Ако сега отворим файла test.html, попълним полетата на формуляра и щракнем върху бутона, ще стигнем до файла action.php, където ще се покаже съобщение. V в такъв случайбраузърът препраща към скрипта action.php и го предава през "?" всички значения атрибути на иметоразположени вътре в етикетите разделени с &. Забележете какво е заместено от $ _SERVER.
Можем да решим проблема си, като анализираме низа QUERY_STRING с помощта на стандартни функцииза работа с низове в PHP, но е по-добре да използвате друг механизъм - това е използването на масива $ _REQUEST. PHP поставя всички данни, получени от полетата на формуляра, в масива $ _REQUEST, независимо как са прехвърлени данните: POST или GET (можете да разберете чрез $ _SERVER ["REQUEST_METHOD"]). Нека ви напомня как се различават тези методи:
Методът GET е публичен, методът POST е частен, т.е. те се различават по начина, по който се предават параметрите. пример:
1) Ако използваме метод на публикация: mysite.ru/request.php. 2) Ако използваме метод получаване: mysite.ru/request.php?myname=SaAlexa&surname=SaGulynin ".
Освен това, в допълнение към масива $ _REQUEST, PHP създава масивите $ _GET и $ _POST. Нека сега изпълним нашата задача въз основа на получените знания:
Ако сега попълним формуляра и щракнем върху бутона, ще видим, че скриптът action.php ни поздравява с фамилия и собствено име. Всичко работи коректно.
Тук всичко е наред, но ако променим името на скрипта, тогава ще трябва да направим промени във файла test.html. Нека модифицираме файла action.php, така че при достъп до него или да се показва формуляр, когато не сме изпратили нищо, или поздрав, когато щракнем върху бутона:
Сега не зависим от името на скрипта, т.к ние го задаваме чрез променливата на средата $ _SERVER ["SCRIPT_NAME"]. = $ _ SERVER ["SCRIPT_NAME"]?> Еквивалентно на . В допълнение към променливата на средата SCRIPT_NAME има много други.
Често в уеб сайтовете можете да намерите страници с HTML формуляри, хоствани на тях. Уеб формуляри са удобен начин за получаване на информация от посетителите на вашия сайт. Пример за това е - който предоставя обратна връзка на посетителите и разработчиците на сайтове. Формулярите са удобни и за разработчиците на сайтове при разработване на CMS, което позволява поддържане на основното свойство на сайта - релевантност. Тази статия се фокусира върху основите на създаването на HTML форми, тяхната обработка и методи за прехвърляне на данни от екранни форми към PHP скриптове.
1) Създайте прост формуляр
Етикети и задайте началото и края на формуляра. Начален маркер на формуляра съдържа два атрибута: действиеи метод... Атрибутът action съдържа URL адреса на скрипта, който трябва да бъде извикан за обработка на скрипта. Атрибут методказва на браузъра какъв вид HTTP заявка да използва за изпращане на формуляра; възможни стойности ПУБЛИКАЦИЯи ВЗЕМЕТЕ.
Коментирайте
Основната разлика между методите POST и GET е начинът, по който се предава информацията. При метода GET параметрите се предават през адресната лента, т.е. всъщност в заглавката на HTTP заявката, докато в метода POST параметрите се предават през тялото на HTTP заявката и не се отразяват по никакъв начин под формата на адресната лента.
Даденият html-форма съдържа елемента преглеждайте, което отваря диалогов прозорец за избор на файл за качване на сървъра. С натискане на бутона "Прехвърляне на файл", файлът се предава на скрипта на манипулатора.
След това трябва да напишете манипулатор на скрипт action.php... Преди да напишете манипулатора, трябва да решите в коя директория ще копираме файла:
if (isset ($ _ FILES ["myfile"])) // Ако файлът съществува {
$ catalog = "../image/"; // Нашият каталог if (is_dir ($ каталог)) // Ако има такава директория {
$ myfile = $ _FILES ["myfile"] ["tmp_name"]; // Временен файл $ myfile_name = $ _FILES ["myfile"] ["name"]; // Име на файл if (! копие ($ myfile, $ catalog)) echo "Грешка при копиране на файл"... $ myfile_name // Ако не успеете да копирате файла }
else mkdir ("../image/"); // Ако няма такава директория, тогава ще я създадем }
?>
Коментирайте
Ако имате доверие на потребителите да качват всякакви файлове на вашия сървър, трябва да сте изключително внимателни. Нападателите могат да инжектират "лош" код в снимка или файл и да го изпратят на сървъра. В такива случаи трябва стриктно да контролирате изтеглянето на файлове.
Този пример демонстрира как да създадете директория и да копирате файл в тази директория на сървъра.
Бих искал също да демонстрирам пример с елемента квадратче за отметка... Този елемент е малко по-различен от другите елементи по това, че ако не и един от елементите квадратче за отметка„А не е избрано, тогава суперглобалното е $ _POSTще върне празна стойност:
if (! празно ($ _ POST ["mycolor"])) echo $ _POST ["mycolor"]; // Ако е избран поне 1 елемент иначе ехо „Изберете стойност“;
?>
PHP Форма – Работата с формуляри в PHP е осмият урок от урока по PHP. В този урок ще говорим за обработка на формуляри с PHP.
Работа с формуляри
PHP ви позволява да обработвате данни, които потребителят е въвел в полетата на формуляра. След като бутонът за изпращане е активиран, данните се изпращат на страницата с манипулатор, посочена в полето за действие на елемента