当用户提交 HTML 表单时,有没有办法在执行 HTML 表单的操作并离开页面之前运行将表单数据保存为会话变量所需的 PHP 代码?当我将表单操作设置为转到下一页 (session2.php) 时,它会在不运行与提交按钮关联的 PHP 的情况下执行此操作。如果我删除表单操作,那么我需要 PHP 提交脚本中的 JavaScript 将用户带到下一页。有没有办法先运行 PHP,然后运行表单操作,还是最好保持原样?我确实有session_start(); 作为两个文件中的第 1 行。会话1.php<?phpif (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 pageecho "Favorite color is " . $_SESSION["favcolor"] . ".<br>";echo "Favorite animal is " . $_SESSION["favanimal"] . ".";?>
1 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
有几种方法可以做到这一点:
使用 PHP 的
header('Location: /page-url');
$_POST
如果设置则渲染不同的内容
<?php
if (isset($_POST['submit'])) {
// Set Global Session Variables from Form's POST Values
$_SESSION["favcolor"] = $_POST['favcolor'];
$_SESSION["favanimal"] = $_POST['favanimal'];
// Render other page content
include "session2.php";
// end the script to prevent loading this page contents
die;
}
?>
<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>
通过 AJAX 请求提交表单并根据响应进行重定向
- 1 回答
- 0 关注
- 90 浏览
添加回答
举报
0/150
提交
取消