Html & Php - не передаются параметры
стоит винда ХР хоме. на ней Апач и PHP. при попытке сваять форму ввода(<form action= и т.д.) обрабатывающий скрипт не получает переменные. PHP говорит что не переменная не определена. форма простейшая - пишем строку и в скрипте ее печатаем. не работает. где копать ?
Думую что копать надо тут:
$_GET[] $_POST[] Или пости исходники, так тяжело что то без них говорить..
вот форма:
<form action="calc.php" method=POST>
Line 1: <input type="text" name="line1" value="321" size=4>
Line 2: <input type="text" name="line2" value="123" size=4>
<input type="Radio" name="calc" value="add"> add (+)
<input type="Radio" name="calc" value="sub" checked> sub (-)
<input type="Radio" name="calc" value="mul"> mul (*)
<input type="Radio" name="calc" value="div"> div (/)
<input type="Checkbox" name="ch1" checked> Чекбокс 1
<input type="Checkbox" name="ch2" > Чекбокс 2
<input type="Submit" value="Посчитать">
</form>
вот обработчик:
<script language="php">
print "<font color=#0000FF> Проверка HTML форм и передачи параметров";
print "
<font color=black>";
print ("Line1 :=".$line1);
print ("
");
print ("Line2 :=".$line2);
print ("
");
print ("Calc :=".$calc);
print ("
");
print ("Chek1 :=".$ch1);
print ("
");
print ("Chek2 :=".$ch2);
print ("
");
if($calc=="add") {
$res=$line1+$line2; }
if($calc=="sub") {
$res=$line1-$line2; }
if($calc=="mul") {
$res=$line1*$line2; }
if($calc=="div") {
$res=$line1/$line2; }
print ("Rez :=".$res);
</script>
результат - пусто. PHP говорит - переменные не определены. где я не прав ?
1) <script language="php"> => <?php
2) </script> => ?>
3) Во вторых я же писал юзай не так просто print ("Line1 :=".$line1); => print ("Line1 :=".$_POST['line1']);
Дальше так же..
хорошо, но почему об этом ни в одной доке не говорится ? исходники взяты из примеров.
Ну во первых не всему стоит, верить что ты видешь в интернете, тыже это не на официальном источнике взял, что то типа: php.net
А во вторых после выхода 4.2.* (точно не помню с какой четыре с чем то), смделали ряд новшеств: $_POST[] ... ({МОжно все вернуть назад, поменяв одну переменную в пшп.ини, но я этого не советую!!)
понятно. спасибо за помощь.
Может оказаться очень полезным изучение след. вещей:
1. register_globals
2. foreach ($_POST as $key=>$value) $$key = $value;
3. extract($_POST);
Спасибо. У меня такая же была проблема.
Такой вопрос.
Если я в теге <form> атрибут метод не указываю, то по идее метод должен быть пост, но post[] не определен.
как так?
Кстати, посоветуйте, когда какой метод выгоднее использовать и есть ли какая-нибудь разница?
Если я в теге <form> атрибут метод не указываю, то по идее метод должен быть пост, но post[] не определен.
как так?
Кстати, посоветуйте, когда какой метод выгоднее использовать и есть ли какая-нибудь разница?
Мне кажется method - обязательный параметр, хотя не знаю и ничего не утверждаю. Я всегда прописываю его - мне не лень.
Методы отличаются наверное только способом передачи информации.. мне наиболее симпотичен POST.. у него и возможностей больше и адресную строку не засоряет :)
по дефолту используется метод GET.
Рекомендую пользоватся методом POST с ним у меня никогда проблем не было а вот с GET было :)