0

我想使用会话将表单数据添加到数组中。
我该怎么做,请帮助我。
我的 HTML 表单是:

    <form action="#" method="post">
    Roll No:<input type="text" name="rollno" value="" id="rollno"  />
    <input type="submit" name="submit" value="Submit" />
    </form>

我的PHP代码是:

    <?php
      session_start();
      $_SESSION['rollno'] = isset($_POST['rollno']);
      echo $_SESSION['rollno'];              
    ?>

我想将卷号插入数组。

我有10个学生的记录。当我插入第一个学生卷号时,它会打印卷号,但是当我插入第二个学生卷号时,它会覆盖第一个学生记录。

我想在同一页面上显示所有 10 个学生卷号。
我怎样才能做到这一点?

4

5 回答 5

2
  1. 在向页面输出任何内容之前开始会话,即在 html 代码之前

  2. 使会话成为一个多维数组

  3. isset从中删除isset($_POST['rollno']);

    <?php
          session_start();
          $_SESSION['rollno'][] = $_POST['rollno'];
          print_r($_SESSION['rollno']);              
    ?>
    
于 2013-03-15T11:57:06.640 回答
1

$_SESSION['rollno']应该是一个数组而不是一个简单的变量。

像这样的东西:

  <?php
  //Define somewhere $_SESSION['rollno'] as array. ONLY ONCE. Note that session must be started.
  session_start();
  if (!isset($_SESSION['rollno'])){
      $_SESSION['rollno'] = array();
  }


  if(isset($_POST['rollno'])){
       array_push($_SESSION['rollno'],$_POST['rollno']);
  }
  foreach ($_SESSION['rollno'] as $item){
        echo $item;  
  }   
  ?>
于 2013-03-15T11:59:18.147 回答
0

我知道 !

我们试试看 :

<?php
session_start();
$_SESSION['rollno'] = Array();
$_SESSION['rollno'][] = $_POST['rollno']; 
$_SESSION['rollno'][] = $_POST['rollno'];
var_dump($_SESSION['rollno']);
?>

你也可以从循环中访问它..祝你好运

于 2013-03-15T12:03:35.090 回答
0
session_start();
if(isset($_POST['submit'])){
  if(isset($_POST['rollno'])){
      $_SESSION['rollno'] = $_POST['rollno'];
      echo $_SESSION['rollno'];        
  } 
}

首先检查是否提交了表单,然后设置滚动,如果是,将其分配给会话变量。

于 2013-03-15T11:57:20.203 回答
0

差不多好了

<?php
  session_start();
  !isset($_SESSION['rollno']){$_SESSION['rollno']=array();}
  $_SESSION['rollno'][] = $_POST['rollno'];
?>

另外,建议对某事设置操作:

echo("<form action={$_SERVER['PHP_SELF']} method='post'>");

有些人不喜欢使用 PHP_SELF,建议对其进行硬编码

于 2013-03-15T11:57:59.517 回答