Как исправить отсутствие переменной, отображаемой в запросе PHP Post?

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

Это использование html и php. В прошлом я пытался использовать метод POST, функции isset, $_Request.

Это код Confirmationpage.html.

<!DOCTYPE html>
<html>
  <head>
      <title>Confirmation page</title>
  </head>
  <body>
    <h1>Confirmation page</h1>
    <h2>Order Confirmed!</h2>
    <?php
      // define variables and set to empty values
      $fName = $lName = $email = $phoneNumber = "";

      if ( isset( $_POST['submit'] ) ) {

        $fName = $_POST["fName"];
        $lName = $_POST["lName"];
        $email = $_POST["email"];
        $phoneNumber = $_POST["phoneNumber"];
        echo $fName . " " . $lName;
        echo $email;
      }

      function test_input($data) {

        $data = trim($data);
        $data = stripslashes($data);
        $data = htmlspecialchars($data);
        return $data;

      }
    ?>
  </body>
</html>

Это код для Checkoutpage.html.

<!DOCTYPE html>
<html>
    <head>
        <title>Checkout page</title>
    </head>
    <body>
        <h1>Checkout page</h1>
        <form action = "Confirmationpage.html" method = "POST">
            <input type = "text" name = "fName" placeholder = "First Name"><br>
            <input type = "text" name = "lName" placeholder = "Last Name"><br>
            <input type = "email" name = "email" placeholder = "Email"><br>
            <input type = "number" name = "phoneNumber" placeholder = "Phone Number"> 
            <br>
            <input type = "submit" value = "Confirm" name = "submit">
        </form>
    </body>
</html>

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

Страница подтверждения выводит: Страница подтверждения и Заказ подтвержден!

Dwarf Champion 31.05.2019 05:11

если вы собираетесь иметь php-коды в своем файле, по крайней мере, превратите их в файлы .php, проблема в том, что вы все еще используете файлы .html

Kevin 31.05.2019 05:12

и хотя бы установить локальный сервер для тестирования

Kevin 31.05.2019 05:13

Ох! Я должен пойти попробовать это сейчас.

Dwarf Champion 31.05.2019 05:13

Да! Я использую XAMPP.

Dwarf Champion 31.05.2019 05:13

Я изменил их в файлы .php, но это все равно не работает.

Dwarf Champion 31.05.2019 05:26

попробуйте написать die; после них

M.Hemant 31.05.2019 05:27
Стоит ли изучать 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 и хотите разрабатывать...
1
7
69
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

попробуй это,

echo $fName . " " . $lName;
echo '<br>';
echo $email;die;

Keep this in mind: your file should be .php

Я пробовал это. Хотя это не имеет никакого значения.

Dwarf Champion 31.05.2019 05:32

это .php страница?

M.Hemant 31.05.2019 05:35

На самом деле я получил выход. Это вывод: '; эхо $email;умереть; эхо $fName . " " . $Имя; эхо $электронная почта; } function test_input($data) { $data = trim($data); $данные = полосы косой черты($данные); $данные = htmlspecialchars($data); вернуть $данные; } ?>

Dwarf Champion 31.05.2019 05:36

Сначала я поместил кубик в verifypage.php, но потом я подумал, что это может быть неправильно, я думаю, поэтому я поместил его в подтверждение page.html и получил результат, который я разместил выше.

Dwarf Champion 31.05.2019 05:38

Все, что я сделал, это изменил checkoutpage.html: <form action = "Confirmationpage.php" method = "POST">

Dwarf Champion 31.05.2019 05:42

Я не знаю, какая страница должна быть php, а какая — html, ха-ха.

Dwarf Champion 31.05.2019 05:45

@DwarfChampion сделает их все .php, так что вы сможете расширить их с помощью PHP в будущем без необходимости рефакторинга каждой ссылки в вашем приложении, когда вы хотите использовать переменную php в файле HTML.

Will B. 31.05.2019 05:52

Пожалуйста, используйте файл php вместо html. Переименуйте имя файла Confirmationpage.html => Confirmationpage.php, а также измените имя файла в действии формы. Если вы не установили php в своей системе. Сначала установите php и повторите попытку.

Sanjay Dhiman 31.05.2019 06:16

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