0

セッションを使用して、学生のロール番号とマークなどのフォームデータを配列に保存する必要があります。これを行っていると、フォームを送信した後、以前の値が新しい値で上書きされます。新しいインデックスを使用して、前の値の隣に配列の値を追加したいと考えています。

これが私のフォームです

<form action="#" method="post">
    Roll No:<input type="text" name="rollno" value="" id="rollno"  />
    Marks:<input type="text" name="marks" value="" id="marks"  />
    <input type="submit" name="submit" value="Submit" onclick="return validate();" />
</form>

<?php
session_start();
//session_destroy();
$_SESSION['status'] = array();

$_SESSION['status'][] = @$_POST['rollno'];
$_SESSION['status'][] = @$_POST['marks'];

print_r($_SESSION['status']);                    
?>

どうすればこれを行うことができますか?

4

3 に答える 3

1

これは方法です...

<?php
session_start();
$i=0;

while(isset($_SESSION[$i])) $i++;

$_SESSION[$i]['rollno'] = $_POST['rollno'];
$_SESSION[$i]['marks'] = $_POST['marks'];
-
-
-
?>
于 2013-03-14T12:44:25.130 に答える
0

次のように、シリアル化された配列をセッションに追加できます。

$_SESSION['key'] = serialize($yourArray);

次に、何かを追加したい場合は、シリアル化を解除し、変更してセッションに戻します。

于 2013-03-14T12:47:04.113 に答える
0

サンプルで説明します

  <?php
    session_start();

    $_SESSION['data']= array();
    $details1=array('pappu','10');
    $details2=array('tippu','12');

    array_push($_SESSION['data'],$details1);
    array_push($_SESSION['data'],$details2);

    foreach ($_SESSION['data'] as $eacharray) {
    while (list(, $value) = each ($eacharray)) {
        echo "Value: $value<br>\n";
    }
    }

?>

出力

値: パップ
値: 10
値: ティップ
値: 12

あなたが試すことができます

 $rollArray=array($_POST['rollno'],$_POST['marks']);
 array_push($_SESSION['status'], $rollArray);


 foreach ($_SESSION['status'] as $eacharray) {
    while (list(, $value) = each ($eacharray)) {
        echo "Value: $value<br>\n";
    }
    }
于 2013-03-14T12:56:26.013 に答える