I have to store form data i.e. Roll No and Marks of a student in an array using session. When I am doing this, the previous value is overwritten by the new value after submitting form. I want to add the value in array next to the previous value with a new index.
Here is my form
<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>
and
<?php
session_start();
//session_destroy();
$_SESSION['status'] = array();
$_SESSION['status'][] = @$_POST['rollno'];
$_SESSION['status'][] = @$_POST['marks'];
print_r($_SESSION['status']);
?>
How can I do this please help me?
This is a way...
<?php
session_start();
$i=0;
while(isset($_SESSION[$i])) $i++;
$_SESSION[$i]['rollno'] = $_POST['rollno'];
$_SESSION[$i]['marks'] = $_POST['marks'];
-
-
-
?>
You can add a serialized array to a session like this:
$_SESSION['key'] = serialize($yourArray);
Then when you want to add something, just unserialize it, modify and put it back in your session.
i will explain with a sample
<?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>
";
}
}
?>
output
Value: pappu
Value: 10
Value: tippu
Value: 12
you can try
$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>
";
}
}