<form method="post" action="">
   <input type="text" name="user">
   <input type="password" name="pass">
   <input type="submit" value="提交" name="Submit">
</form>
<?php
$arr = array();
if($_POST['Submit']){
$_SESSION['user'] = $_POST['user'];
$_SESSION['pass'] = $_POST['pass'];
$str = array('user'=>$_SESSION['user'],'pass'=>$_SESSION['pass']);
array_push($str, $str);
}
var_dump($arr);
?>
我想把提交N次的记录保存到arr里面,一并输出;可是最终实现的就是输出的最后一次记录,还没有保存到浏览器(浏览器一关,再打开,这条记录都没有了)

解决方案 »

  1.   

    这里  每次提交后都会重新执行$arr = array();
    当然只记录最后一次了。
      

  2.   

    2.session_start()后才会注册session,浏览器如果设置了关闭前清理临时文件和历史记录的话也会消失的。。
      

  3.   

    楼主,使用session之前 一定要先<?php session_start();?> 启用session其次,正如楼上所说,你每次post数据之后,都会创建一个新的数组。所以到最后你的数组只有最后一条数据
      

  4.   

    保存到浏览器 请用cookiearray_push($str, $str); 这是干嘛我简单的写两句
    $arr = $_SESSION['arr'];
    !$arr and $arr = array();
    if($_POST['Submit']){
     $_SESSION['user'] = $_POST['user'];
     $_SESSION['pass'] = $_POST['pass'];
     $str = array('user'=>$_SESSION['user'],'pass'=>$_SESSION['pass']);
     array_push($arr, $str);
     $_SESSION['arr'] = $arr; //session 默认的生命周期是浏览器关闭失效,除非你改成cookie方式的session
    }
      

  5.   

    我是像把最后提交的数据保存到那个那个数组里面$arr数组里
    array_push($str, $str);这里的前面一个$str该是$arr;我写错了