表单处理网页中,如果需要分页显示结果,网页刷新后,$_POST[]中的信息会丢失。
此时,可以借助$_SESSION[全局]变量来暂存。
如下:
if(isset($_POST["Patient_search"])&&($_POST["Patient_search"]=="search"))
{
$_SESSION["name"]=$_POST["name"];
$_SESSION["sex"]=$_POST["sex"];
$_SESSION["hospitalID"]=$_POST["hospitalID"];
$_SESSION["age"]=$_POST["age"];
$where=$db->quoteInto('patientname like ?',"%".trim(GetSQLValueString($_POST['name'],"text"))."%");
if(($_POST["sex"]=="男")||($_POST["sex"]=="女"))
$where=$where.$db->quoteInto('and sex=?',$_POST['sex']);
foreach ($this->view->rowset as $row)
{
if ($_POST["hospitalID"]==$row["hospitalID"])
$where=$where.$db->quoteInto('and hospitalID=?',$_POST['hospitalID']);
}
if($_POST["age"]==1)
$where=$where."and age between 0 and 5";
else if ($_POST["age"]==2)
$where=$where."and age between 6 and 15";
else if ($_POST["age"]==3)
$where=$where."and age between 16 and 30";
else if ($_POST["age"]==4)
$where=$where."and age between 31 and 60";
else if ($_POST["age"]==5)
$where=$where."and age>60";
}
else
{
$where=$db->quoteInto('patientname like ?',"%".trim(GetSQLValueString($_SESSION['name'],"text"))."%");
if(($_SESSION["sex"]=="男")||($_SESSION["sex"]=="女"))
$where=$where.$db->quoteInto('and sex=?',$_SESSION['sex']);
foreach ($this->view->rowset as $row)
{
if ($_SESSION["hospitalID"]==$row["hospitalID"])
$where=$where.$db->quoteInto('and hospitalID=?',$_SESSION['hospitalID']);
}
if($_SESSION["age"]==1)
$where=$where."and age between 0 and 5";
else if ($_SESSION["age"]==2)
$where=$where."and age between 6 and 15";
else if ($_SESSION["age"]==3)
$where=$where."and age between 16 and 30";
else if ($_SESSION["age"]==4)
$where=$where."and age between 31 and 60";
else if ($_SESSION["age"]==5)
$where=$where."and age>60";
}
当网页刷新后,$_SESSION里的变量还存在。
释放$_SESSION的某个变量,可以:
session_unset($_SESSION['ab']);
session_unset();session_destroy();是释放所有$_SESSION变量