Home » 2014 » Октомври » 5 » Урок №7 Метода Post & Get в PHP
0:53 AM
Урок №7 Метода Post & Get в PHP

PHP - POST & GET

На база на урок №7 Формуляри в PHP, където използвахме HTML форма и я изпратихме на PHP web страница за обработка на данните, там рещихме да използваме метода post за представяне на данните, но бихме могли също да използваме метода get. Този урок ще представи двата метода за предаване на данни.

POST

В урока за PHP формулярите употребихме метода post. Ето как би изглеждал съответния HTML код:

Извадка от HTML код :

<form action="process.php" method="post">
<select name="item">
...
<input name="quantity" type="text" />

Този HTML код определя, че данните от формата ще се предадат към "process.php" страницата по метода POST. Причината, поради която PHP изисква това е за да съхрани всички "posted" стойности в асоциативен масив наречен "$_POST". Уверете се, че сте задали добре имената на полетата за данни във формата, защото те представляват keys в асоциативния масив "$_POST".

Сега, след като вече имаме базова представа за същността на асоциативните масиви, PHP кода от "process.php" ще ни се стори малко по-смислен.

Извадка от PHP код :

$quantity = $_POST['quantity'];
$item = $_POST['item'];

Имената на полетата биват използвани като keys в асоциативния масив, затова трябва да внимавате, да не зададете две полета за данни в HTML формата, които имат еднакви имена. Ако допуснете това да се случи ще се сблъскате с известни проблеми.

GET

Както вече споменахме, алтернатива на post метода е метода get. Ако променим HTML формата, така че да използва get метод, тя ще придобие следния вид:

Извадка от HTML код :

<form action="process.php" method="get">
<select name="item">
...
<input name="quantity" type="text" />

Метода get се различава по това, че предава променливите към "process.php" страницата добавяйки ги към края на URL. След като натиснете бутона "Submit", към края на URL ще се добави това:

  • "?item=##&quantity=##"

Въпросителния знак "?" казва на браузъра, че елементите, които следват са променливи. След като променихме метода на изпращане на информацията от "order.html", трябва да променим и "process.php" кода така, че да използва "$_GET" асоциатовен масив.

Извадка от PHP код :

$quantity = $_GET['quantity'];
$item = $_GET['item'];

След променянето на името на масива скрипта ще функционира нормално. Употребата на метода get показва информация за променливите на посетителя, затова внимавайте да не изпратите информация за парола или някакви други елементи, които не са за гледане. Не бихте желали вашите посетители да виждат нещо, което не би трябвало да виждат!

Съображения за сигурност

Когато вземате въведени от потребителя данни и ги използвате, трябва да сте сигурни, че правите това сигурно. Ако после поискате да вкарате тази информация в MySQL база данни, трябва да разгледате и да се предпазите от възможността за MySQL инжектиране.

 

Категория: PHP | Преглеждания: 1070 | Довавено от: knif3r | Оценка: 5.0 | Гласували :2 | Tags: Method, Get, Пост, геТ, Php, Urok, Начинаещ, Post, метод, урок

Ако урокът ви е харесал можете да го споделите с вашите приятели във фейсбук :
Всички коментари: 0
avatar
Социални Мрежи

PC-Tools.inc | Copyright © 2014-2015
DMCA.com Protection Status Mozilla Firefox+4.0 Chrome+13.2 Opera+5.6 IE+7.9 Safari+2.0