За последние 24 часа нас посетили 22879 программистов и 1145 роботов. Сейчас ищут 605 программистов ...

Помогите найти ошибку (впервые такое)

Тема в разделе "Прочие вопросы по PHP", создана пользователем Coder123, 29 мар 2024.

  1. Coder123

    Coder123 Гость

    С нами с:
    29 мар 2024
    Сообщения:
    1
    Симпатии:
    0
    Всем привет. Я программист, в целом веб-мастер уже более 20 лет. Но с таким сталкиваюсь впервые. Я пеняю на ошибку веб-сервера (что тоже будет очень странно), написал соответствующий запрос в техподдержку хостинга, а пока ради интереса, своими силами хочу разобраться в чем же может быть проблема. Вы не поверите, привожу даже весь код т.к только начал проект и нет даже еще даже 50 строк кода. Вообщем. Проблема в том что не выполняется ни один скрипт PHP, а именно даже элементарный echo расположенный в любом месте страницы. Вопрос соответственно. В чем может быть проблема? PHP сервер тянет и другие скрипты выполняются. Вот код
    Код (Text):
    1. <?
    2. $id = $_GET['id'];
    3. $ip = $_SERVER['REMOTE_ADDR'];
    4. $filename = $ip.'.txt';
    5.  
    6. $fopen = 'notes/'.$ip.'.txt';
    7. $fd = fopen($fopen, 'r') or die("Note not created");
    8. while(!feof($fd)) {
    9. $str = htmlentities(fgets($fd));
    10. }
    11. fclose($fd);
    12. ?>
    13. <!DOCTYPE HTML>
    14. <html>
    15. <head>
    16. <meta charset="UTF-8">
    17. <title>TALTF.COM</title>
    18. <link rel="stylesheet" href="css/style.css">
    19. </head>
    20. <body>
    21. <center>
    22. <br><br><br><br>
    23. <h1>Save note</h1>
    24. <br><br>
    25. <form action="msg.php" method="POST">
    26. <textarea type="text" name="msg" value="Your text">
    27. <?=$str;?>
    28. </textarea>
    29. <br><br>
    30. <input type="submit" class="send" value="Save">
    31. </form>
    32. </center>
    33. </body>
    34. </html>
    35. <?
    36. echo 'Этот текст не выводится вообще никак, почему???';
    37. ?>
    Всем заранее спасибо за помощь
     
  2. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Код (Text):
    1. <?php
    --- Добавлено ---
    И далее уже первая команда не тянет на «мастерский» код.
     
    Serg197211, MouseZver и don.bidon нравится это.
  3. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    язык разметки наше всё
     
  4. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    250
    Симпатии:
    46
    Адрес:
    Бавария, Германия
    Добрый день!
    В настройках PHP есть директива short_open_tag.
    Если установлено значение "on", то можно писать <? вместо <?php
    В Вашем случае установлено значение "off". Можете проверить так
    PHP:
    1. <?php
    2. // Directive short_open_tag  off
    3. ?>
    Изменить можно в .htaccess так
    Код (Text):
    1. php_value short_open_tag 1
    Вам намекали про неудачную первую стоку кода.
    Если GET-переменная не определена, то теперь выдаётся предупреждение.
    Поэтому лучше в этом случае применить isset
    PHP:
    1. $id  =  isset($_GET['id'])?$_GET['id']:"";
    Удачи!
     
    #4 Vladimir Kheifets, 1 апр 2024
    Последнее редактирование: 1 апр 2024
  5. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    861
    Симпатии:
    132
    @Vladimir Kheifets, закрывашки "?>" не принято ставить много лет, PSR-12 хотя бы глянь.
     
    MouseZver нравится это.
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.751
    Симпатии:
    1.322
    Адрес:
    Лень
    Верим...

    Валидацию нужно нормально писать, а не вот это вот "суй ? куй : по*уй".
    Изучи сам лично: https://www.php.net/manual/ru/function.filter-input-array.php
    --- Добавлено ---
    Блядь этот форум заебал, редактируешь одно. Сохраняешь другое.