#php
#php
Вопрос:
Когда пользователь посещает страницу журнала посетителей, он должен быть в состоянии увидеть приглашение с просьбой ввести свое имя. После отправки формы на той же странице должно отображаться совершенно другое сообщение, приветствующее пользователя на веб-странице. Когда пользователь обновляет страницу, процесс начинается заново.
Это то, что я пробовал до сих пор, это работает, но я все еще не понимаю, для кого я бы отображал совершенно новое сообщение после ввода также, когда я обновляю, оно не очищает входные данные, мне нужно снова зайти на веб-сайт, чтобы перезапустить его.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA 058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<link rel="stylesheet" type="text/css" href="store.css">
<?php include 'navbar.php';?>
</style>-->
<title>Visitor Log</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body class="background-body-color ">
<div class="centered-container borderColor">
<h1 id="example-id-name" class=" centered-text sansSerif-text ">Visitor Log</h1>
<?php
// define variables and set to empty values
$nameErr = "";
$name = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {
$nameErr = "Only letters and white space allowed";
}
}
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<p2 id="example-id-name" class="centered-text "><center>Please enter your name<center></p>
<p><span class="error"></span></p>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="name" value="<?php echo $name;?>">
<span class="error"> <?php echo $nameErr;?></span>
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<?php
echo $name;
echo "<br>";
?>
</div>
<script src ="scripts/test.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src = "scripts/jquery_test.js"></script>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
Вся логика PHP должна быть включена store_visitor_log.php. Ни в коем случае пользователь не должен находиться на какой-либо другой странице во время этого процесса.
Сообщение перед отправкой формы должно полностью отличаться от сообщения после отправки формы. Для этого мне потребуется использовать условные операторы.
Вы должны использовать PHP только для выполнения этой задачи.
вот как это выглядит сейчас
после ввода имени оно должно измениться на это
Комментарии:
1. Хорошо, итак, где HTML для этой страницы приветствия? Или это то, что вы хотите, чтобы мы написали
2. Страницы приветствия нет, весь php-код находится на моей домашней странице. Этот код работает над возвратом введенного имени, в чем мне нужна помощь, так это в отображении совершенно другого сообщения после его ввода. Итак, в нем говорится, пожалуйста, введите имя, затем после ввода имени вместо простого отображения входных данных должно отображаться введенное имя приветствия и удалена фраза «пожалуйста, введите имя».
3. Я ссылаюсь на это предложение в вашем вопросе При отправке формы на той же странице должно отображаться совершенно другое сообщение, приветствующее пользователя на веб-странице
4. Я добавил несколько изображений, чтобы прояснить этот вопрос, извините за путаницу
5. Я обновил код до полного кода в файле .php