我正在处理包含3个部分的页面。在第一部分中,其中一个输入是第二部分所需的数字。在第二部分中,其中一个输入是第三部分所需的数字。当用户在第一部分中提交表单时,我将该数字存储在会话变量中,当用户在第二部分中提交表单时,我也将该数字存储在会话变量中。每次提交一个部分时,下一部分及其相关表格将变为“可见”。
+-----------+
| My Page |
+-----------+
| section 1 | -> set section 1 variable needed by section 2 and 3
+-----------+
| section 2 | -> set section 2 variable needed by section 3
+-----------+
| section 3 |
+-----------+
我的问题是,当我将表单数据存储在数据库中时,如何确保会话变量仍然存在?假设一个人提交了第1部分,然后是第2部分,然后离开很长一段时间,回来,并尝试提交第3部分。或者,用户提交第1部分,然后离开很长一段时间,回来,并尝试提交第2部分。在尝试数据库CRUD之前,如何确保会话数据仍然存在?我想在每个新节中检索会话变量,并在下一节中将它们添加为隐藏字段,但我不确定这是不是一个好主意。
无论如何,我们将非常感谢任何建议。
感谢您抽出宝贵时间阅读,祝您度过愉快的一天。 : - )
答案 0 :(得分:2)
检查它们的存在如下:
if(isset($_SESSION['varName')) { // do something }
答案 1 :(得分:0)
也许使用标志(标志是一个想法或技术或命令)
//first part of code:
if (!isset($_SESSION['firstpart']))
{
$_SESSION['firstpart'] = false;
$_SESSION['secondpart'] = false;
$_SESSION['thirdpart'] = false;
}
//(and then)
if($_SESSION['firstpart'] == false)
{
validate first part variables
do someting to read or say give me first part
if vars is ok
$_SESSION['firstpart'] = true;
else
$_SESSION['firstpart'] = false;
}
//validting second part
if($_SESSION['secondpart'] == false)
{
we can validate an do second part
and set:
if vars is ok
$_SESSION['secondpart'] = true;
else
$_SESSION['secondpart'] = false;
}
// and repeat for third part
和会话中的所有变量,首先在false上建立标志,然后激活每个部分以了解用户在哪里。