在会话PHP中存储二维数组

穆罕默德

我一直在寻找这种解决方案已有一段时间,并且发现了以前针对我的相同问题制作的一些线程。但是我仍然无法解决我的问题。现在已经有好几天了,我仍然无法将HTML表单中的数组数据保存在会话中。它只是每次都被覆盖。我的编码有问题吗?

这是我的PHP文件,用于处理输入

<?php 
    if(!isset($_SESSION)){
        session_start();
    }

    $student1 = array(
        array(
            'Name'=>$_POST['name'],
            'Matric-No'=>$_POST['matric'],
            'Gender'=>$_POST['gender'],
            'Day'=>$_POST['DOBDay'],
            'Month'=>$_POST['DOBMonth'],
            'Year'=>$_POST['DOBYear'],
            'Citizen'=>$_POST['citizen'],
            'Marital'=>$_POST['kahwin'],
            'Religion'=>$_POST['religion'],
            'Active'=>$_POST['active'],
            'Year-of-Study'=>$_POST['Cyear'],
            'ID-Number'=>$_POST['idno'],
            'Email'=>$_POST['email']
        )
    );

    $_SESSION['data'] = $student1;

    print_r($_SESSION);

?>

*编辑:对不起...我忘了提一下,我确实有一个JavaScript验证程序,可以查看用户是否在提交之前成功输入了每个表格。我的问题是,当我刷新或返回表单站点时,以前的数据将不存在,并且如果输入了任何新数据。先前的数据将被覆盖

哈斯·比约克(HasseBjörk)

$_SESSION['data']如果已提交表单,则必须设置唯一。这是测试名称和宗教是否已发送的示例(您可以测试所有变量以确保确定):

session_start();

if ( isset( $_POST['name'] && isset( $_POST['religion'] ) {
    $student1=array(
        'Name'=>$_POST['name'],
        'Matric-No'=>$_POST['matric'],
        'Gender'=>$_POST['gender'],
        'Day'=>$_POST['DOBDay'],
        'Month'=>$_POST['DOBMonth'],
        'Year'=>$_POST['DOBYear'],
        'Citizen'=>$_POST['citizen'],
        'Marital'=>$_POST['kahwin'],
        'Religion'=>$_POST['religion'],
        'Active'=>$_POST['active'],
        'Year-of-Study'=>$_POST['Cyear'],
        'ID-Number'=>$_POST['idno'],
        'Email'=>$_POST['email']
    );

    $_SESSION['data']=$student1;
}

print_r($_SESSION);
?>

现在,$_SESSION['data']仅当您发布带有名称和宗教信仰的表单时,才更改!

编辑:如果要在会话中添加多个学生,请尝试如下操作:

$_SESSION['data'][]=$student1;

或简单地:

$_SESSION['data'][]=$_POST;

要检索数据,请执行以下操作:

foreach ( $_SESSION['data'] as $data )
    echo 'Name: ' . $data['Name'];

或者

for( $i = 0; $i < count( $_SESSION['data'] ); $i++ )
    echo 'Name: ' . $_SESSION['data'][$i]['Name'];

编辑2从$ student1变量中删除了多余的数组

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章