Я создал многостраничную форму, которая хранит данные в сеансах. Вместо метода method = "post" я использую метод = "get", чтобы позволить пользователю нажимать кнопку «Назад» и удерживать данные на предыдущих страницах для редактирования. У меня также есть проверка подлинности электронной почты в скрипте PHP.Кнопка сброса формы PHP - очистка сеанса с помощью метода = "get"
Как я могу отправить кнопку отправки на следующую страницу в форме и кнопку сброса, чтобы очистить сеанс и остаться на этой странице (или перезагрузить страницу) без данных сеанса, появляющихся в полях формы ?
Я пробовал изменить чужое предложение, используя следующее безрезультатно. Вот PHP скрипт в начале документа:
<?php
session_start();
foreach ($_GET as $key=>$value) {
if ($key!="submit") {
$value = htmlentities(stripslashes(strip_tags($value)));
$_SESSION[$key] = $value;
}
}
$firstname = $_SESSION['Firstname'];
$lastname = $_SESSION['Lastname'];
$email = $_SESSION['Email'];
if(isset($_GET['clear'])) {
session_destroy(); // Or other session-unsetting logic
header("Location: form.php"); // Reload your page
}
else if(isset($_GET['submit'])) {
//next page logic
header("Location: form-2.php"); // Reload your page
}
?>
Вот форма в теле страницы:
<form class="mod-columns-form" method="get" name="mailform" action="form-2.php" onsubmit="return validateForm();">
<fieldset>
<label for="Firstname">First Name <span class="mod-error">*</span></label>
<input type="text" name="Firstname" id="Firstname" placeholder="first name" value="<? echo $firstname; ?>" />
<label for="Lastname">Last Name <span class="mod-error">*</span></label>
<input type="text" name="Lastname" id="Lastname" placeholder="last name" value="<? echo $lastname; ?>" />
<label for="Email">Email <span class="mod-error">*</span></label>
<input type="text" name="Email" id="Email" placeholder="[email protected]" value="<? echo $email; ?>" />
<button name="submit" type="submit" value="submit" class="submit">Next</button>
<button name="clear" type="submit" value="clear">Clear</button>
</fieldset>
</form>
Благодарим за отзыв. Я сделал вариацию вашей рекомендации, когда я сделал кнопку Reset кнопкой, ссылающейся на базовую страницу PHP без оператора if, но session_start(); unset ($ _ SESSION ['']); для каждой переменной очистить и session_write_close(); header ("Местоположение: "); для возврата на страницу формы. Это заняло много экспериментов, и я пошел по пути JavaScript, что было ошибкой. –
fishonstilts