当用户提交 HTML 表单时,有没有办法在执行 HTML 表单的操作并离开页面之前运行将表单数据保存为会话变量所需的 PHP 代码?当我将表单操作设置为转到下一页 (session2.php) 时,它会在不运行与提交按钮关联的 PHP 的情况下执行此操作。如果我删除表单操作,那么我需要 PHP 提交脚本中的 JavaScript 将用户带到下一页。
有没有办法先运行 PHP,然后运行表单操作,还是最好保持原样?我确实有session_start(); 作为两个文件中的第 1 行。
会话1.php
<?php
if (isset($_POST['submit'])) {
// Set Global Session Variables from Form's POST Values
$_SESSION["favcolor"] = $_POST['favcolor'];
$_SESSION["favanimal"] = $_POST['favanimal'];
// Go To Next Page
$URL="session2.php";
echo "<script type='text/javascript'>document.location.href='{$URL}';</script>";
echo '<META HTTP-EQUIV="refresh" content="0;URL=' . $URL . '">';
}
?>
<form action="" method="post">
Enter Color: <input type="text" name="favcolor" /><br />
Enter Animal: <input type="text" name="favanimal" /><br />
<input type="submit" value="submit" name="submit" />
</form>
会话2.php
<?php
// Echo session variables that were set on previous page
echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>";
echo "Favorite animal is " . $_SESSION["favanimal"] . ".";
?>
守候你守候我