完成后未清除PHP电子邮件应用程序表单的缓存数据
我有一份申请表,它将提交的用户详细信息转发到指定的电子邮件。此表单的所有方面都很好 但是,表格开头有一个选项,询问您是否要添加联合申请人。此函数依赖于用另一个数组替换数据数组完成后未清除PHP电子邮件应用程序表单的缓存数据,php,forms,caching,Php,Forms,Caching,我有一份申请表,它将提交的用户详细信息转发到指定的电子邮件。此表单的所有方面都很好 但是,表格开头有一个选项,询问您是否要添加联合申请人。此函数依赖于用另一个数组替换数据数组 if (isset($_SESSION['app1Title'])) { $fields = array("app2Title", "app2FirstName", "app2Surname", "app2DOB", "app2Email", "app2Telephone", "app2Mobile", "app2Mari
if (isset($_SESSION['app1Title'])) {
$fields = array("app2Title", "app2FirstName", "app2Surname", "app2DOB", "app2Email", "app2Telephone", "app2Mobile", "app2MaritalStatus", "app2LicenceType");
define(TITLE,"Details about your joint applicant");
}
else {
$fields = array("app1Title", "app1FirstName", "app1Surname", "app1DOB", "app1Email", "app1Telephone", "app1Mobile", "app1MaritalStatus", "app1LicenceType", "rdoJointHirer");
define(TITLE,"Details about you");
}
然而,在填写完表格后,尝试开始新的申请会将你直接转到“联合申请人”而不是从新开始
以下是提交后操作的代码
// If everything is OK.
if (empty($error)) {
if (!isset($_SESSION['app1Title]'])) {
foreach ($_POST as $key => $field)
$_SESSION[$key] = $field;
if ($_POST['rdoJointHirer'] == "Yes") {
$_SESSION['return'] = "1";
header("Location: personal.php");
}
else
header("Location: address.php");
}
else {
foreach ($_POST as $key => $field)
$_SESSION[$key] = $field;
header("Location: address.php");
}
ob_end_clean();
exit();
}
else {
$values = post_values($fields); //Initialise all fields with their POST values
require('forms/personal-form.php');
}
}
}
else {
$values = blank_values($fields); //Initialise all fields as blank
require("forms/personal-form.php");
}
如何解决此问题?将所有$\u POST参数复制到会话变量似乎不是一个好主意-如果其中一个POST参数覆盖了内部会话变量,该怎么办。你应该只复制有效的参数。我不明白这个问题。会话变量从一次运行持续到下一次运行,这就是它们的全部意义。如果要重置会话,请删除会话变量。