Проблемы с передачей данных из формы в ПХП
<form action="mod.php" method="POST">
Орган:
<input name="organ" type="text" maxlength="50" />
</p>
Заболевание:
<input name="zabolev" type="text" maxlength="50" />
</p>
<input type="submit" name="submiter" value="Добавить" /> </p>
<textarea name="recept" cols="100" rows="10"></textarea>
</form>
В обработчик не передается ни одна из описанных здесь переменных. Ошибка в ПХП - переменные не определены... Где наикался не могу понять, может чего-то в ПХП при установке надо до писать.. Или в Апаче..
http://php.net отсутствует толковая инфа о синтаксисе написания команд с использованием глобалок, таких как $_POST ... в этом вся и загвоздка! Нужен совет
Перерыл литературку, нашел возможную причину: регистрация глобальных переменных в 5м ПХП отключена из соображений скорости и безопасности, использование длинных имен глобальных массивов тожа... Но при всем при етом, что на родном сайте ПХП
Цитата:
Originally posted by mike
http://www.codenet.ru/webmast/faq/1.php
http://www.codenet.ru/webmast/faq/1.php
Это я видиел и на сайте ПХП.нет Но при всем при етом, отказывается работать массив _POST. Я ради теста проверил работоспособность массива _SERVER - все работает, данные вынимаются, но с постом...
Код:
<?php
print_r($GLOBALS);
.. твой код
?>
print_r($GLOBALS);
.. твой код
?>
Верный код:
$organ=$_POST['organ'];
print("Organ= $organ");
Неверный код:
print("Organ= $_POST['organ']");
Несколько слов о синтаксисе. Аргументы должны указываться в квадратных скобках с апострофами, внутри которых указывается имя переменной в предыдущем коде, через которые передаются данные:
из формы:
Орган:
<input name="organ" type="text" maxlength="50" />
</p>
в обработчике, то что выше.
И все работает без лишних строк. Майк, все равно огромное спасибо!!!!
Цитата:
Originally posted by wisherman
:P Значиться так. Поставил Zend Studio 3.5 к себе на машину, в итоге Zend Server сменил мне автоматически в php.ini опцию register_globals в положение ON. Все есесьно заработало. Но я все-таки решил пойти по пути с ограниченными возможностями и добился результата. Выяснил одну вещь: для корректной работы передачи данных в режиме POST требуется перед использованием данных присвоить их конкретной переменной в обработчике. Использовать данные сразу в выражении нельзя!!!
Верный код:
$organ=$_POST['organ'];
print("Organ= $organ");
Неверный код:
print("Organ= $_POST['organ']");
Несколько слов о синтаксисе. Аргументы должны указываться в квадратных скобках с апострофами, внутри которых указывается имя переменной в предыдущем коде, через которые передаются данные:
из формы:
Орган:
<input name="organ" type="text" maxlength="50" />
</p>
в обработчике, то что выше.
И все работает без лишних строк. Майк, все равно огромное спасибо!!!!
:P Значиться так. Поставил Zend Studio 3.5 к себе на машину, в итоге Zend Server сменил мне автоматически в php.ini опцию register_globals в положение ON. Все есесьно заработало. Но я все-таки решил пойти по пути с ограниченными возможностями и добился результата. Выяснил одну вещь: для корректной работы передачи данных в режиме POST требуется перед использованием данных присвоить их конкретной переменной в обработчике. Использовать данные сразу в выражении нельзя!!!
Верный код:
$organ=$_POST['organ'];
print("Organ= $organ");
Неверный код:
print("Organ= $_POST['organ']");
Несколько слов о синтаксисе. Аргументы должны указываться в квадратных скобках с апострофами, внутри которых указывается имя переменной в предыдущем коде, через которые передаются данные:
из формы:
Орган:
<input name="organ" type="text" maxlength="50" />
</p>
в обработчике, то что выше.
И все работает без лишних строк. Майк, все равно огромное спасибо!!!!
Чтобы вообще не было траблов рекомендую использовать:
$HTTP_POST_VARS["имя переменной из формы"];
либо вместо POST вставить GET (смотря что в форме указано)
Цитата:
Originally posted by Rekon
Чтобы вообще не было траблов рекомендую использовать:
$HTTP_POST_VARS["имя переменной из формы"];
либо вместо POST вставить GET (смотря что в форме указано)
Чтобы вообще не было траблов рекомендую использовать:
$HTTP_POST_VARS["имя переменной из формы"];
либо вместо POST вставить GET (смотря что в форме указано)
Добавлю к этому одно, что данный метод несколько устарел по мнению самих разработчиков ПХП, поэтому я и использовал выше обозначенный метод. Он полностью аналогичен приведенному тобой методу. Спасибо, что не оставили без внимания. :angel: