第 1 页的信息已成功传输到第 2 页,但是,在第 2 页填写
并提交后,第 3 页将作为 404 错误页面打开。我不知道出了什么问题(我使用的是 Wordpress,第 3 页确实存在,但在提交第 2 页后无法打开(。您可以在此处实时查看。第一页在offer/
第二页在offer/details/
第三页在offer/details/results/
所以第 1 页的代码是:-
<form action="details/" method="post">
Loan Calculator
<select name="loan_amount" class="form-inline" style="width:200px;">
<option value="1000">$1,000 Loan</option>
<option value="25000" selected="selected">$25,000 Loan</option>
</select>
<select name="loan_tenure" class="form-inline" style="width:125px;">
<option value="4">4 Years</option>
<option value="5" selected="selected">5 Years</option>
</select>
<input type="submit" value="Calculate" class="form-inline">
</form>
第 2 页的代码是:-
session_start();
foreach ($_POST as $key => $value) {
$_SESSION[$key] = $value;
}
echo '<form action="results/" method="post">';
echo '<strong>Who should we send this quote to?</strong><br>';
echo '<input type="hidden" name="loan_amount2" value="' . $_POST["loan_amount"] . '" />';
echo '<input type="hidden" name="loan_tenure2" value="' . $_POST["loan_tenure"] . '" />';
echo '<input style="width:320px; margin-left:16px; margin-top:15px;" type="text" name="name" placeholder="Name*"><br>';
echo '<input style="width:320px; margin-left:16px;" type="email" name="email" placeholder="Email*"><br>';
echo '<input style="width:320px; margin-bottom:7px; height:50px; padding-left:7px;" type="phone" name="phone" placeholder="Phone*"><br>';
echo '<input type="submit" value="Get My Monthly Repayments">';
echo '</form>';
第 3 页的代码是:-
session_start();
foreach ($_POST as $key => $value) {
$_SESSION[$key] = $value;
}
var_dump($_SESSION);
使用隐藏字段
echo '<input type="hidden" name="page_2_valid_0987" value="page_2_valid_0987" />';
在步骤 2 中
在你的函数中.php应该是这样的。
if(isset($_POST['page_2_valid_0987'])){
store_values_of_page_two($_POST);
}
function store_values_of_page_two($_POST) {
session_start();
foreach ($_POST as $key => $value) {
$_SESSION[$key] = $value;
}
$newURL = site_url(); . "/offer/details/results/";
wp_redirect( $newURL );
exit;
}
在结果页中打印会话
session_start();
var_dump($_SESSION);
我发现了错误(感谢@vel(。这实际上是非常愚蠢的。在第 2 页表单代码中,input
字段的名称为 name
这是非法的,因为它是一个特殊的关键字。这就是导致错误的原因。