Ошибка создания пользовательских форм PHP (Wordpress)

Я часами пытался создать пользовательскую форму PHP для своего сайта, пробовал несколько руководств и следил за разными ответами, которые видел здесь, но, похоже, ничего не работает, и я не уверен, почему.

Я упростил то, что пытаюсь сделать, чтобы я мог просто заставить его работать, а затем строить поверх этого. Итак, я создал небольшую «форму для примера» на своей домашней странице.

Форма Цель:

После отправки формы перезагрузите ту же страницу, но отобразите введенные пользователем данные, а не форму.

Работы пока:

  1. Домашняя страница моего сайта настроена на страницу с названием «Добро пожаловать». Итак, www.mysite.com показывает страницу с названием «Добро пожаловать» на панели инструментов WP. В разделе «Добро пожаловать» на панели инструментов WP я установил шаблон «Мой шаблон приветствия».

  2. В шаблоне PHP-файла у меня есть такой код:

    <?php
    
    if (isset($_POST["name"])) {
        ?>
        Hi <?php echo htmlspecialchars($_POST["name"]); ?>.
        <?php
    }
    else {
        ?><br>
        <form action = "" method = "post">
            <p>Your Name: <input type = "text" name = "name" /></p>
            <p><input type = "submit" value = "submit" name = "submit_btn"></p>
        </form>
        <br><?php
    }  
    ?>
    

Ошибка:

После отправки формы страница обновляется. Хотя URL-адрес по-прежнему читается просто «www.mysite.com», похоже, загружается другой шаблон, чем шаблон в «Добро пожаловать». Кажется, это шаблон «эй, мы не нашли то, что вы искали», и текст на странице выглядит так.

Oops! That page can’t be found.

It looks like nothing was found at this location. Maybe try one of the links below or a search?

Search

Archives

Try looking in the monthly archives. ?

ARGH ctrl K не работает, работает над редактированием для включения кода PHP.

groundfalll 18.12.2018 19:03

Какую ошибку выдает?

aynber 18.12.2018 19:07

Хороший момент - когда я нажимаю кнопку «Отправить», страница перезагружается, но отображается другой шаблон страницы (он похож на шаблон «Ошибка, страница не найдена»), хотя URL-адрес читается как «www.mysite.com». На странице написано: «Ой! Эту страницу нельзя найти».

groundfalll 18.12.2018 22:12

Обновлено, чтобы указать точную проблему в вопросе.

groundfalll 18.12.2018 22:16
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
53
2

Ответы 2

Возможно, вы можете проверить, существует ли массив $ _POST и не пусто ли специальное значение, например

    if ( !empty($_POST) && isset($_POST['name']) ){
     // Your Welcome Part
     } else {
     // The form part
    }
empty() проверяет, установлено ли что-то и не является ли оно нулевым. нет необходимости в обоих.
mrben522 18.12.2018 19:59

Попробуйте использовать другое имя для текстового элемента.

пример:

<?php    
if (isset($_POST["full_name"])) {
        ?>
        Hi <?php echo htmlspecialchars($_POST["full_name"]); ?>.
        <?php
    }
    else {
        ?><br>
        <form action = "" method = "post">
            <p>Your Name: <input type = "text" name = "full_name" /></p>
            <p><input type = "submit" value = "submit" name = "submit_btn"></p>
        </form>
        <br>
        <?php
    }
?>

Другие вопросы по теме