За последние 24 часа нас посетили 30509 программистов и 1792 робота. Сейчас ищут 1129 программистов ...

Не работает форма

Тема в разделе "PHP для новичков", создана пользователем Fatum, 9 июн 2009.

  1. Fatum

    Fatum Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    45
    Симпатии:
    0
    Вопрос я создал как по инструкции
    файл test.php Туда скопировал код
    <?
    if($HDD == «Maxtor»):
    ?>
    <table>
    <caption> Maxtor </caption>
    </table>
    <?
    elseif($HDD == «Seagate»):
    ?>
    <table>
    <caption> Seagate </caption>
    </table>
    <?
    endif;
    ?>

    Потом создал форму test.html Туда написал
    <form action = "http://localhost/test/test.php;" method="get">
    HDD: <input type="text" name="HDD"/><br>
    <input type="submit"/>
    </form>

    папка тест лежит в D:\Program Files\Apache Group\Apache2\htdocs\ Там же лежат test.php и test.html При открытии test.html и вводе в форму Maxtor он выдает пустую страницу Хотя как написано в книге должен выдавать
    [​IMG]
     
  2. zheka_13

    zheka_13 Активный пользователь

    С нами с:
    1 май 2009
    Сообщения:
    71
    Симпатии:
    0
    попробуйте в форме сделать вот так
    Код (Text):
    1.  
    2. <form action = "http://localhost/test.php;" method="get">
    3. HDD: <input type="text" name="HDD"/><br>
    4. <input type="submit"/>
    5. </form>
     
  3. Alex Little

    Alex Little Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    думаецо мне, что не if($HDD == «Maxtor»): , а вот так if($_GET['HDD'] == «Maxtor»): надо
    подправил одинарные ковычки. с гармматикой всегда было плохо ))
     
  4. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
  5. Fatum

    Fatum Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    45
    Симпатии:
    0
    А все открылось Надо было точку с запятой убрать в "http://localhost/test/test.php;"
    Только скрипт что то не выполняеться Белый экран выдает Хотя другие скрипт с формами работают
     
  6. Alex Little

    Alex Little Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    а ты прочитал и исправил, что я написал выше?
     
  7. Fatum

    Fatum Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    45
    Симпатии:
    0
    Alex Little
    Не увидел когда сообщение писал Попробую сделать
     
  8. Fatum

    Fatum Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    45
    Симпатии:
    0
    alex Сделал написал
    Также пустое окно

    <?
    if($_GET['HDD'] == «Maxtor»):
    ?>
    <table>
    <caption> Maxtor </caption>
    </table>
    <?
    elseif($HDD == «Seagate»):
    ?>
    <table>
    <caption> Seagate </caption>
    </table>
    <?
    endif;
    ?>

    elkax Прочитал но все равно не понял где прописывать в скрипте echo $_GET
     
  9. Alex Little

    Alex Little Активный пользователь

    С нами с:
    9 июн 2009
    Сообщения:
    5
    Симпатии:
    0
    Fatum
    1. А что вводил, что те выдало пустое окно? Если Maxtor , то странно, должно показывать было, а если Seagate
    НУ млин) а подумать чуть?
    elseif($HDD == «Seagate»): тут так же надо поменять на
    elseif($_GET['HDD'] == «Seagate»):
     
  10. Elkaz

    Elkaz Старожил
    Команда форума Модератор

    С нами с:
    26 июн 2006
    Сообщения:
    3.373
    Симпатии:
    0
    Адрес:
    Баку, Азербайджан
    Fatum
    PHP:
    1.  
    2. <?php
    3. if (count ($_GET) > 0){
    4.     $hdd = isset ($_GET ['HDD']) ? trim (htmlspecialchars ($_GET ['HDD'])) : null;
    5.     switch ($hdd){
    6.         case 'maxtor': $hdd = 'maxtor'; break;
    7.         case 'seagate': $hdd = 'seagate'; break;
    8.         default: echo 'Выберите HDD'; break;
    9.     }
    10. }
    11.  
    12. if (!isset ($hdd)){
    13.     echo 'Your HDD: ' . $hdd;
    14. } else {
    15.     echo 'Выберите HDD';
    16. }
    17.  
    18.