|
|
|
| Здравствуйте.
Я с этого сайта скачал документацию по php и нчал ее читать.
Я застрял на таком примере:
В одном файле:
<html>
<title></title>
<body>
<form action = "test.php" method="get">
HDD: <input type="text" name="HDD"/><br>
CDROM: <input type="text" name="CDROM"/><br>
<input type="submit"/>
</body>
</html>
А в файле test.php:
<?php
print "<p>HDD is $HDD</p>";
print "<p>CDROM is $CDROM</p>";
?>
Когда я этот пример стал просматривать у меня стало выдавать (я в поля для проверки занес 111 и 222):
Notice: Undefined variable: HDD in D:\user\www\html\002\test.php on line 2
HDD is
Notice: Undefined variable: CDROM in D:\user\www\html\002\test.php on line 3
CDROM is
Я стал искать документацию по передачи переменных и нашел совет использовать $_GET. Когда же я переправил на:
<?php
print "<p>HDD is $_GET['HDD'] </p>";
print "<p>CDROM is $_GET['CDROM'] </p>";
?>
Мне стало выдвавать:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\user\www\html\002\test.php on line 2
Хотя используя такой скрипт:
<?php
while (list($var,$value) = each($_GET)) {
echo "<BR>$var => $value";
}
?>
Мне выдало:
HDD => 111
CDROM => 222
Пожалуйста ответьте почему в одном случае выдает ошибку, а в последнем нормально проходит? | |
|
|
|
|
|
|
|
для: Serg_9
(07.02.2005 в 12:28)
| |
$HTTP_GET_VARS['test']
//или
$_GET['test']
|
Вобщем таким образом правильно и корректно получать переменные get
таким же образом идёт принятие и переменных
post
| |
|
|
|
|
|
|
|
для: cernos
(07.02.2005 в 13:23)
| | вообще роще писать
имхо | |
|
|
|
|
|
|
|
для: Be4ep
(07.02.2005 в 13:32)
| | Проще, но неправильно. Если у вас вдруг константа test объявится, то скрипт работать неправильно будет. Да и вариант $_GET['test'] быстрее | |
|
|
|
|
|
|
|
для: isset
(07.02.2005 в 15:02)
| | Ну это смотря что передавать через GET
Ведь адрессная строка поддерживает максимум255 символов и что то вроде того!
Если передавать числвые переменные, тогда конечно метод get конечно лучше и то смотря когда и в каких случаеях! :\ | |
|
|
|
|
|
|
|
для: cernos
(07.02.2005 в 15:34)
| | Я неправильно выразился, мы щас не будем обсуждать плюсы/минуты POST/GET. Я говорю что лучше писать $_*['test'] чем $_*[test] | |
|
|
|
|
|
|
|
для: cernos
(07.02.2005 в 13:23)
| | 1.друг ты забыл вставить в клиентской страницев в конце </form>
2. можно написать в начале скрипта так global $cdrom, $hdd;
3. можно подавлять эту ошибку спомощью "@" , это символ вставь после pribt@(); | |
|
|
|
|
|
|
|
для: Serg_9
(07.02.2005 в 12:28)
| | А в первом случае, вам выводилось сообщение что таких переменных как HDD и CDROM нету.
Сделайте так и всё будет выводиться:
Файл test.php
<?php
print "<p>HDD is ".$HTTP_GET_VARS['HDD']."</p>";
print "<p>CDROM is $HTTP_GET_VARS['CDROM']</p>";
?>
|
Если вы хотите передать переменные методом POST
то тогда:
В первом файле index.php
<html>
<title></title>
<body>
<form action = "test.php" method="post">
HDD: <input type="text" name="HDD"/><br>
CDROM: <input type="text" name="CDROM"/><br>
<input type="submit"/>
</body>
</html>
|
Файл test.php
<?php
print "<p>HDD is ".$HTTP_POST_VARS['HDD']."</p>";
print "<p>CDROM is ".$HTTP_POST_VARS['CDROM']."</p>";
?>
|
| |
|
|
|
|
|
|
|
для: Serg_9
(07.02.2005 в 12:28)
| | Пишите вот так
<?php
print "<p>HDD is ".$_GET['HDD']."</p>";
print "<p>CDROM is".$_GET['CDROM']."</p>";
?>
|
Либо так
<?php
print "<p>HDD is $_GET[HDD]</p>";
print "<p>CDROM is $_GET[CDROM]</p>";
?>
|
PS: "игры" с кавычками… | |
|
|
|