PHP_SELF код, дающий сообщение об ошибке

0

У меня есть этот код здесь. это дает мне ошибку Синтаксической ошибки, неожиданной T_STRING, ожидающей "," или ";". я хочу иметь возможность отображать сообщение успеха на одной странице, а не открывать другую страницу. пожалуйста помоги.

} else {
    $query = "SELECT title, author, post, id FROM news_posts WHERE id=$id";
    $result = mysql_query($query);
    $num = mysql_num_rows($result);
    $row = mysql_fetch_array ($result, MYSQL_NUM);

    $title = $row['0'];
    $name = $row['1'];
    $message = $row['2'];

    if ($num == 1) {
    echo '
    <form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
    <p><b>Post Title :</b><br />
    <input type="text" class="form-control" name="title" value="'.$title.'" /></p>
    <p><input type="hidden" name="name" size="15" maxlength="255" value="'.$name.'" /></p>
    <p><b>Post Message :</b><br /><textarea rows="7" class="form-control" name="message">'.$message.'</textarea></p>
    <p><input type="button" value="Back" onclick="history.back()">            <input type="submit" name="submit" value="Submit" /></p>
    <input type="hidden" name="submitted" value="TRUE" /></p>
    <input type="hidden" name="id" value="'.$id.'" /></form>';

    } else {
        echo 'News post could not be edited, please try again.';

    }

}
?>
  • 0
    редактирую существующий код Это исходный код. if ($ num == 1) {echo '<form action = "? id = edit_news & num ='. $ id. '" method = "post"> <p> <b> Заголовок сообщения: </ b> <br / > <input type = "text" class = "form-control" name = "title" value = "'. $ title.'" /> </ p>
  • 2
    ВНИМАНИЕ : Если вы только изучаете PHP, пожалуйста, не используйте интерфейс mysql_query . Это настолько ужасно и опасно, что его удалили в PHP 7. Заменить, например, PDO, нетрудно для изучения, а в руководстве, таком как PHP, «Правильный путь» объясняются лучшие практики. Ваши пользовательские данные не экранированы должным образом, есть ошибки внедрения SQL и могут быть использованы.
Показать ещё 4 комментария
Теги:

1 ответ

0

Это потому, что одинарные кавычки вокруг PHP_SELF прерывают одинарные кавычки в вашем эхом. Попробуйте это вместо этого:

<form action="' . $_SERVER['PHP_SELF'] . '" method="post">
  • 0
    спасибо ... он загружается, но теперь проблема в том, что он все еще открывает другую страницу для результатов. я хочу, чтобы сообщение об успехе отображалось на той же странице
  • 0
    Означает, что в вашем коде есть другая ошибка. Запустите php -l yourscript.php (кстати, это строчная буква L), чтобы проверить синтаксис вашего кода. Если синтаксис в порядке, проверьте журналы ошибок PHP.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню