Консультация № 40815
20.04.2006, 09:41
0.00 руб.
0 3 3
Установил на компе Apache2.0 пакет Php 4.4.2 изучаю ! Вопрос такой -> надо передать данные из html в php Создал форму, все как надо по всем законам и правилам, а данные в php не идут ! В чем проблема ? может я что-то не так делаю ?

Обсуждение

Неизвестный
20.04.2006, 09:46
общий
это ответ
Здравствуйте, Жилкин Сергей Анатольевич!
Проверьте тип передачи данных из формы - он должен быть либо POST, либо GET; или вы неправильно пытаетесь прочитать данные в PHP. А вообще, тут телепатов нет и без кода самой формы разговор неуместен.
Неизвестный
20.04.2006, 09:54
общий
это ответ
Здравствуйте, Жилкин Сергей Анатольевич!

Я могу сделать предположение. Возможно, Вы дейстивительно сделали форму по правилам и написали относительно правильный скрипт. Только данные, приходящие постом, Вы берете не из массива $_POST, а прямо из глобальных переменных. Раз Вы настраивали все самостоятельно, то могу предположить, что php.ini Вы взяли на основе php.ini-recommended (раз рекомендуют - значит так и надо). А в нем по умолчанию есть настройка "register_globals Off", которая как раз и запрещает автоматическое преобразование POST и GET данных в глобальные переменные. Результат - скрипт не получает данных.

Если мое предположение верно, то либо поставьте "register_globals on", либо берите данные из массива $_POST. Второе - лучше, ибо взломоустойчивее.

Неизвестный
20.04.2006, 10:13
общий
это ответ
Здравствуйте, Жилкин Сергей Анатольевич!
преверьте
1) в форме в action=‘указать файл обработчик формы.php‘
2) в зависимости от метода передачи POST или GET
используйте массивы $_POST или $_GET соответственно

например в файле form.html (будем использовать метод POST, с методом GET аналогично)
форма имеет вид

<form action="obrabotka.php" method="post">
<input type="text" name="slovo" maxlength=30>
<input type="Radio" name="tip" value="1" checked>1
<input type="Radio" name="tip" value="2">2
</form>

тогда в файле обработчике (в данном случае obrabotka.php) пишем

Приложение:
<?phpa$=$_POST[‘tip‘];b$=$_POST[‘slovo‘];echo ‘Выбрали : ‘.$a;echo ‘Ввели слово : ‘.$b;?>
Форма ответа