Я создал многостраничную форму, которая хранит данные в сеансах. Вместо использования method="post" я использую method="get", чтобы позволить пользователю нажать кнопку "Назад" и сохранить данные на предыдущих страницах для редактирования. У меня также есть проверка электронной почты, происходящая в скрипте PHP.
Как я мог бы иметь кнопку отправки для перехода на следующую страницу в форме и кнопку «Сброс», чтобы очистить сеанс и остаться на этой странице (или перезагрузить страницу) без отображения данных сеанса в полях формы?
Я безуспешно пытался изменить чужое предложение, используя следующее. Вот 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>