上部に session_start() を含む php 連絡フォームがある場合、これでセッションが作成されることがわかります。しかし、ユーザーがフォームに入力せずに別のページに移動した場合はどうなるでしょうか。
ユーザーが連絡先ページから php フォームを送信したときにのみセッションを作成したいので、まだ session_destroy を使用する必要がありますか?
ありがとう。
更新:長いコードを投稿することなく、フォームのより良いアイデアを得るために。
contact-form.html
<?php session_start(); ?>
<?php $fname = isset($_SESSION['fname'] ) ? $_SESSION['fname'] : NULL ; ?>
<form method="post" action="http://www.mysite.com/form-process.php">
<input value="<?php echo $fname ?>" type="text" id="fname" name="fname" />
<input type="submit" value="Submit Request" />
</form>
form-process.php
<?php
session_start();
$_SESSION['fname'] = $_POST['fname'];
$user = "John" ;
session_write_close();
if ($_SESSION['fname'] != $user) {
header('Location: http://www.mysite.com/contact-form.html');
}
else {
$_SESSION = array();
session_destroy();
header('Location: http://www.mysite.com/thankyou.html');
}
?>