Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Пытаюсь выполнить пример из учебника....но...:((
 
 автор: Gelios   (07.03.2007 в 15:31)   письмо автору
 
 

Пытаюсь выполнить пример из учебника 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=&quotget">
   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]

помогите, пожалуйста, понять в чем дело? и что я делаю не правильно?
заранее спасибо!

   
 
 автор: Fddd   (07.03.2007 в 15:35)   письмо автору
 
   для: Gelios   (07.03.2007 в 15:31)
 

В форме, попробуй указать путь вместо

http://localhost/PHP/test.php 

просто test.php и без ; на конце
и метод method=&quotget" на method="get"

И в обработчике вместо $HDD пиши $_Get[HDD]

   
 
 автор: tokmak   (07.03.2007 в 15:53)   письмо автору
 
   для: Fddd   (07.03.2007 в 15:35)
 

Плюс вставь код <? error_reporting(0); ?>

   
 
 автор: Gelios   (08.03.2007 в 12:33)   письмо автору
 
   для: tokmak   (07.03.2007 в 15:53)
 

все рекомендации, в частности, код <? error_reporting(0); ?> , приводят к тому, что на странице
http://localhost/php/test.php?HDD=Maxtor
теперь вместо былых непонятных фраз теперь не появляется вообще ничего....
это лучше, чем то, что было...
но ведь должно появиться слово Maxtor
а там пусто((

   
 
 автор: cheops   (08.03.2007 в 13:46)   письмо автору
 
   для: 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; 
?>

   
 
 автор: cheops   (08.03.2007 в 01:43)   письмо автору
 
   для: Gelios   (07.03.2007 в 15:31)
 

Кавычки-ёлочки не поддерживаются PHP - используйте двойные кавычки.

   
 
 автор: tokmak   (08.03.2007 в 12:54)   письмо автору
 
   для: cheops   (08.03.2007 в 01:43)
 

>Кавычки-ёлочки не поддерживаются PHP - используйте двойные кавычки.
Точно, что то я не обратил внимание
измени «Maxtor» на "Maxtor"
и другое слово тоже. должно пойти.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования