За последние 24 часа нас посетили 23911 программистов и 1641 робот. Сейчас ищут 860 программистов ...

не выводит html код

Тема в разделе "PHP для новичков", создана пользователем Рихард, 5 фев 2018.

  1. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    Код (Text):
    1. if('POST' == $_SERVER['REQUEST METHOD'])
    2.         {
    3.             print "Hello ".$_POST['my_name'];
    4.         }
    5.         else{
    6.             print<<<_HTML_<form method="post" action="$_SERVER['PHP_SELF']">
    7.             your name: <input type="text" name="my_name">
    8.             <br>
    9.             <input type="submit" value="say hello"></form>
    10.             _HTML_;
    11.            
    12.         }

    В общем выдает ошибку: Parse error: syntax error, unexpected '<<' (T_SL) in C:\OSPanel\domains\adventure\index.php on line 22

    И пробелы убирал и так и сяк, и еще версии php на разных проверял((
     
  2. AlexandrS

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

    С нами с:
    30 сен 2017
    Сообщения:
    659
    Симпатии:
    103
    Адрес:
    Краснодар
    PHP:
    1. <?php
    2.  
    3. print <<<_HTML_
    4.             <form method="post" action="$test">
    5.             your name: <input type="text" name="my_name">
    6.             <br>
    7.             <input type="submit" value="say hello"></form>
    8. _HTML_;
    9.  
    10. ?>
    Всё работает, хотя при вставке вашего кода, была ошибка, но когда ";" переносил в отдельную троку, ошибка пропадала, потом переписал код заново, и всё нормально заработало.
     
    #2 AlexandrS, 5 фев 2018
    Последнее редактирование: 5 фев 2018
  3. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    [​IMG]
     
    denis01 и MouseZver нравится это.
  4. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    в общем я поймал эту ошибку))
    после тега </form> закрывающий тег _HTML_ должен идти на другой строке, но самое важное на другое строке не должно быть пробела а то выдаст опять ошибку.
    Код (Text):
    1. if('POST' == $_SERVER['REQUEST METHOD'])
    2.         {
    3.             print "Hello ".$_POST['my_name'];
    4.         }
    5.         else{
    6.             print <<<_HTML_
    7. <form method="post" action="$test">
    8.             your name: <input type="text" name="my_name">
    9.             <br>
    10.             <input type="submit" value="say hello"></form>
    11. _HTML_;
    12.            
    13.         }

    Но теперь вышла вторая проблема)) не работает условие if когда передаешь имя))
     
    TeslaFeo нравится это.
  5. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    уверяю, условие работает правильно :)
     
  6. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    меня это и удивляет так как код переписан с книжки, вводя имя любое в форму , в ответ она должна вывезти имя.
    а она не выводит. В JS можно было хоть в браузере запускать отладку)) в PHP до этого раздела не дошел
     
  7. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.984
    Симпатии:
    759
    @Рихард ставишь IDE, ставишь дебагер, дебажишь.
     
  8. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    спасибо
     
  9. Рихард

    Рихард Новичок

    С нами с:
    13 янв 2018
    Сообщения:
    89
    Симпатии:
    6
    сегодня 3 часа потратил, но нашел свою ошибку не внимательности 'REQUEST METHOD' отсутствовало подчеркивание))