Отладка скрипта на PHP

Discussion in 'PHP' started by HBWS, 8 Dec 2010.

  1. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Ребят, помогите. Начал изучать РНР, написал простейший скрипт а он делает мне мозги вот уже 1,5 часа. Вот код:
    <html>
    <head></head>
    <body>
    <form method="post ">
    Ответ: <input name="ans">
    <input type="submit" value="Submit">
    </form>
    <?
    $user= $_POST['ans'];
    echo "$user";
    ?>
    </body>
    </html>

    Но он почему-то передает переменную GETом, хотя у меня прописано POST. И преременную не выводит. Вот даже залил на хост trettt.rxfly.net . Кто знает РНР - подскажите
     
  2. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    пробел после post убери
     
    1 person likes this.
  3. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    1.
    Тут <form method="post "> после post пробел стоит. Убрать
    2.
    Тут echo "$user";
    Грамотнее переменные выводить так: echo $user;
    Напрмиер echo "Юзер: ".$user;
    3. /thread40896.html
     
    1 person likes this.
  4. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Спасибо, помогло удаление пробела. Но поставил я его не просто так - в книге которую читаю, написано, что без него форма работать не будет... Автор Гизберт Домашке... Ппц
     
  5. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Может ты плохо читал?
     
  6. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Если есть желание, могу отсканировать...
     
  7. Чакэ

    Чакэ Elder - Старейшина

    Joined:
    15 Aug 2010
    Messages:
    260
    Likes Received:
    66
    Reputations:
    62
    советую сжечь эту книгу, а пепел закопать за огородом и посвятить то место.
     
  8. chexec

    chexec Member

    Joined:
    19 Nov 2010
    Messages:
    67
    Likes Received:
    11
    Reputations:
    3
    Тут грамотнее юзать $_POST['ans'], а не определять непонятно для чего новую переменную. Это ошибка абсолютно всех новичков, и ты ему делаешь только хуже своим советом.
    +1
     
  9. FindeR

    FindeR Elder - Старейшина

    Joined:
    15 Nov 2006
    Messages:
    623
    Likes Received:
    138
    Reputations:
    20
    Профи, а ты не можешь представить, что переменная может дальше использоваться? Каждый раз будешь юзать $_POST['ans'] ?

    А прежде чем книги жечь, лучше бы нашли эту книгу и посмотрели, что там на самом деле написано - "Дамашке Гизберт - PHP и MySQL"
     
  10. chexec

    chexec Member

    Joined:
    19 Nov 2010
    Messages:
    67
    Likes Received:
    11
    Reputations:
    3
    Конечно. Только у меня давно такого нету, ед. раз когда я использую $_POST, $_GET и прочее такое - во время инициализации скрипта.
     
  11. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Ошибкой будет во всех местах, где требуется, использовать $_POST['ans'].
     
  12. chexec

    chexec Member

    Joined:
    19 Nov 2010
    Messages:
    67
    Likes Received:
    11
    Reputations:
    3
    ты мне объясни почему нельзя написать $_POST['ans'] заместо $user? В чем разница?
     
  13. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    еще такой вопрос. Если мы передаем методом POST разве значение переменной должно отображаться в адресной строке? Если нет, то почему у меня отображается (включая данные из строчки пароля)
     
  14. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    chexec
    В данном случае нету разницы. Но ты же начал про плохой пример для новичков. Лучше один раз использовать массив и объявить переменную. И уже дальше работать с переменной, а не с массивом $_POST.

    HBWS
    Значит по прежнему, форма передает методом GET.
     
  15. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Это я понимаю, но почему? Скрипт приложен в 1ом сообщении (пробел убрал) и там прописано передавать методом POST. Дайте кто-нибудь пример передачи POSTом пожалуйста, или переделайте мой скрип (если там что-то не так)
     
  16. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    PHP:
    <html>
    <head>
    </head>
    <body>
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Строка1: <input type="text" name="var1" /><br />
    Строка2: <input type="text" name="var2" /><br />
    <input type="submit" value=" Отправить " />
    </form>
    <hr />
    <?php
    if(isset($_POST['var1']) && isset($_POST['var2'])) { //Проверяем отправлены данные
    echo "Результат строки1: ".$_POST['var1']."<br />"//Выводим значение строки1 (var1)
    echo "Результат строки2: ".$_POST['var2']; //Выводим значение строки2 (var2)

    // DEBUG:
    echo "<pre>";
    echo 
    "GET: \n"print_r($_GET); // Выводим массив GET
    echo "POST: \n"print_r($_POST); // Выводим массив POST
    echo "</pre>";
    }
    ?>
    </body>
    </html>
     
  17. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Спасибо большое, вечером протестирую - отпишусь
     
  18. HBWS

    HBWS Member

    Joined:
    26 Nov 2010
    Messages:
    226
    Likes Received:
    22
    Reputations:
    0
    Все работает как часы, спасибо всем, кто помог.
    ЗЫ Тему можно закрыть