| |
|
|
| | Пытаюсь выполнить пример из учебника http://www.softtime.ru/bookphp/gl2_1.php
пример следующий:
РНР предоставляет также возможность альтернативного синтаксиса условного оператора – без фигурных скобок, а с применением оператора endif. В следующем примере первая таблица помещается на страницу, если только $HDD равно «Maxtor», а вторая - если «Seagate». Наличие оператора endif в этом случае обязательно, так как фигурная скобка, обозначающая конец блока if, отсутствует
Делаю, как в книге:
<?
if($HDD == «Maxtor»):
?>
<table>
<caption> Maxtor </caption>
</table>
<?
elseif($HDD == «Seagate»):
?>
<table>
<caption> Seagate </caption>
</table>
<?
endif;
?>
|
coхраняю как test.php
Читаю далюше:
Значение переменной $HDD передается формой test.html скрипту test.php. Код формы test.html:
<form action = "http://localhost/PHP/test.php;" method="get">
HDD: <input type="text" name="HDD"/><br>
<input type="submit"/>
|
Делаю, как написано в учебнике
Вбиваю Maxtor
Нажимаю кнопку "Отправить"
И вместо того, чтобы прочесть на странице http://localhost/php/test.php?HDD=Maxtor
обещанное слово Maxtor
браузер мне выдает следующее:
Notice: Use of undefined constant «Maxtor» - assumed '«Maxtor»' in y:\home\localhost\www\php\test.php on line 2
Notice: Undefined variable: HDD in y:\home\localhost\www\php\test.php on line 2
Notice: Use of undefined constant «Seagate» - assumed '«Seagate»' in y:\home\localhost\www\php\test.php on line 8
Notice: Undefined variable: HDD in y:\home\localhost\www\php\test.php on line 8
похожая история получается и с примером на следующей странице учебника:
[url]file://localhost/H:/наде/php_book/php_book/gl2_2.php.htm[/url]
помогите, пожалуйста, понять в чем дело? и что я делаю не правильно?
заранее спасибо! | |
| |
|
|
| |
|
|
| |
для: Gelios
(07.03.2007 в 15:31)
| | | В форме, попробуй указать путь вместо
http://localhost/PHP/test.php
|
просто test.php и без ; на конце
и метод method="get" на method="get"
И в обработчике вместо $HDD пиши $_Get[HDD] | |
| |
|
|
| |
|
|
| |
для: Fddd
(07.03.2007 в 15:35)
| | | Плюс вставь код <? error_reporting(0); ?> | |
| |
|
|
| |
|
|
| |
для: tokmak
(07.03.2007 в 15:53)
| | | все рекомендации, в частности, код <? error_reporting(0); ?> , приводят к тому, что на странице
http://localhost/php/test.php?HDD=Maxtor
теперь вместо былых непонятных фраз теперь не появляется вообще ничего....
это лучше, чем то, что было...
но ведь должно появиться слово Maxtor
а там пусто(( | |
| |
|
|
| |
|
|
| |
для: Gelios
(08.03.2007 в 12:33)
| | | error_reporting(0); вставляется только в отлаженный скрипт, в обычных скриптах лучше использовать
<?php
Error_Reporting(E_ALL & ~E_NOTICE);
?>
|
PS У вас директива register_globals отключена или включена? Если отключена, то используйте следующий скрипт
<?
if($_GET['HDD'] == "Maxtor"):
?>
<table>
<caption> Maxtor </caption>
</table>
<?
elseif($_GET['HDD'] == "Seagate"):
?>
<table>
<caption> Seagate </caption>
</table>
<?
endif;
?>
|
| |
| |
|
|
| |
|
|
| |
для: Gelios
(07.03.2007 в 15:31)
| | | Кавычки-ёлочки не поддерживаются PHP - используйте двойные кавычки. | |
| |
|
|
| |
|
|
| |
для: cheops
(08.03.2007 в 01:43)
| | | >Кавычки-ёлочки не поддерживаются PHP - используйте двойные кавычки.
Точно, что то я не обратил внимание
измени «Maxtor» на "Maxtor"
и другое слово тоже. должно пойти. | |
| |
|
|