2013-03-15 112 views
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个学生卷号。
我该怎么做?

+0

然后,只需追加到数组中。 – 2013-03-15 11:56:12

+2

使会话变成一个数组并使用'array_push'来添加它 – ethrbunny 2013-03-15 11:56:42

+0

我从来没有使用'#'作为诸如'

'的动作。认为这是一个好主意? – user1032531 2013-03-15 12:00:56

回答

2
  1. 开始你出去把之前的任何东西到页面中,前即HTML代码中的会话

  2. 创建会话一多维数组

  3. isset($_POST['rollno']);

    <?php 
         session_start(); 
         $_SESSION['rollno'][] = $_POST['rollno']; 
         print_r($_SESSION['rollno']);    
    ?> 
    
  4. 删除 isset
+0

如何创建多维数组? – 2013-03-15 12:08:57

+0

@AnjaniGupta。 PHP将自动生成它。如果您将其定义为当前未设置的可读性,则可能会更具可读性。 – user1032531 2013-03-15 12:12:48

0
session_start(); 
if(isset($_POST['submit'])){ 
    if(isset($_POST['rollno'])){ 
     $_SESSION['rollno'] = $_POST['rollno']; 
     echo $_SESSION['rollno'];   
    } 
} 

首先检查表单是否已提交,然后设置roll,如果是,则将其分配给会话var。

0

几乎有

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

此外,建议设置动作的东西:

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

有些人不喜欢用PHP_SELF和建议硬编码它

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; 
    } 
    ?> 
+1

在使用sesssions之前需要session_start()。 – user1032531 2013-03-15 12:03:27

+0

@ user1032531你是对的,编辑和修复。 – Ander2 2013-03-15 12:03:50

+0

我试过这个,但它只打印上次插入的值。我必须打印所有10条记录。 – 2013-03-15 12:23:52

0

我知道了!

让我们试试:

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

您可以从环太访问它.. 好运