Я настраиваю новый веб-сайт и хочу иметь возможность собирать данные, вводимые пользователем на странице оформления заказа, и отображать ввод пользователя на странице подтверждения. Как выполнить эту операцию?
Это использование 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>
Я ожидал, что имя, фамилия и адрес электронной почты будут отображаться на странице подтверждения, однако фактический результат не выводит имя, фамилию и адрес электронной почты.
если вы собираетесь иметь php-коды в своем файле, по крайней мере, превратите их в файлы .php
, проблема в том, что вы все еще используете файлы .html
и хотя бы установить локальный сервер для тестирования
Ох! Я должен пойти попробовать это сейчас.
Да! Я использую XAMPP.
Я изменил их в файлы .php, но это все равно не работает.
попробуйте написать die;
после них
попробуй это,
echo $fName . " " . $lName;
echo '<br>';
echo $email;die;
Keep this in mind: your file should be
.php
Я пробовал это. Хотя это не имеет никакого значения.
это .php
страница?
На самом деле я получил выход. Это вывод: '; эхо $email;умереть; эхо $fName . " " . $Имя; эхо $электронная почта; } function test_input($data) { $data = trim($data); $данные = полосы косой черты($данные); $данные = htmlspecialchars($data); вернуть $данные; } ?>
Сначала я поместил кубик в verifypage.php, но потом я подумал, что это может быть неправильно, я думаю, поэтому я поместил его в подтверждение page.html и получил результат, который я разместил выше.
Все, что я сделал, это изменил checkoutpage.html: <form action = "Confirmationpage.php" method = "POST">
Я не знаю, какая страница должна быть php, а какая — html, ха-ха.
@DwarfChampion сделает их все .php
, так что вы сможете расширить их с помощью PHP в будущем без необходимости рефакторинга каждой ссылки в вашем приложении, когда вы хотите использовать переменную php в файле HTML.
Пожалуйста, используйте файл php вместо html. Переименуйте имя файла Confirmationpage.html => Confirmationpage.php, а также измените имя файла в действии формы. Если вы не установили php в своей системе. Сначала установите php и повторите попытку.
Страница подтверждения выводит: Страница подтверждения и Заказ подтвержден!