Урок 3. Формы
Прислано AMD на Сентябрь 27 2011 20:41:31

Передача значений из форм





Код формы








<form method="POST" action="">


<input type="text" name="T1" size="20"><input type="submit" value="ОК"


name="B1"></p>


</form>








action="" - тут указывается адрес перехода после нажатия кнопки ОК. если адрес

не указан то используется текущий адрес





как видим имя переменной которая получает зеначения из формы Т1. соответственно


передаваемая переменная это $Т1.


но есть и другой способ передачи значения переменной. в заголовке формы указан

метод передачи данных -POST. метод может быть еще - GET.





учитывая приведенный случай доступ к переменным возможен таким образом -

$HTTP_POST_VARS["T1"].





использовать можно оба способа. но первый способ может не срабатывать если в

настройках сервера в файле php.ini значение переменной register_globals равно


OFF.











Полный текст скрипта





Пример 6








<form method="POST" action="">



<input type="text" name="T1" size="20"><input type="submit" value="ОК"

name="B1"></p>



</form>





<?


echo "Введен текст:".$T1;


?>











echo "Введен текст: ".$T1; - точка это объединение двух строк.






для того что бы строка "Введен текст" не отображалась до ввода нами текста в код

мы вставим условие





Пример 7











<form method="POST" action="">



<input type="text" name="T1" size="20"><input type="submit" value="ОК"

name="B1"></p>



</form>





<?


if($T1<>"")


echo "Введен текст:".$T1;


?>












как видим мы проверяем если значение переменной $T1 непустое (if($T1<>"")) то

строка выводится. если же она пустая то ничеко кроме формы мы на экране не

увидим.





if($T1<>"") можно заменить на if($T1) это тоже самое мы просто проверяем имеет

ли данная переменная какое либо значение. и если его нет то переменная имеет

значение FALSE и условие не выполнено. если же в переменной имеется какая либо

строка то переменная имеет значение TRUE и условие выполняется.









Как уже отмечалось если в файле php.ini значение переменной register_globals

равно OFF то передача значения в переменную $T1 не происходит. что бы получить

значени и вывести его на экран надо изменить строку кода на


$HTTP_POST_VARS["T1"]





или





$_POST["T1"]






в таком варианте значения будут передаватся при любой настроке вебсервера





 



+++