Reputation: 18840
I am trying to save data from a post to my array session variable. But instead of adding new element it overwrites the old one... What am I doing wrong ?
//PHP CODE !!!
$_SESSION['file[]'] = $_FILES['file'];
$_SESSION['file_names[]'] = $_POST['file_name'];
print_r($_SESSION['file[]']); //it will only display last selected file. :(
//HTML !!!
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>" enctype="multipart/form-data">
<input type="input" name="file_name" value="">
<input type="file" name="file" id="file" value="">
<input type="submit" name="SEND" value="ADD"/>
</form>
//LITLE CHECK CODE HERE !!!
//THIS CODE WILL DISPLAY " OUT OF IF STATEMENT !!!" ;/
<?php
if(isset($_SESSION['file_names[]']) && is_array($_SESSION['file_names[]'])){
foreach($_SESSION['file_names[]'] as $index => $name){
/...
}
}else{
echo " OUT OF IF STATEMENT !!!"; //executed!
}
?>
Any ide ?
Upvotes: 1
Views: 988
Reputation: 100175
i think you want to make the $_SESSION
multi dimensional array, so change:
$_SESSION['file[]'] = $_FILES['file'];
$_SESSION['file_names[]'] = $_POST['file_name'];
to
$_SESSION['file'][] = $_FILES['file']; //assign $_FILES data to session array
$_SESSION['file_names'][] = $_POST['file_name']; //assign $_POST data to session array
print_r($_SESSION['file']);
Upvotes: 4