session - PHP $_SESSION only store the last variable -



session - PHP $_SESSION only store the last variable -

thank reading this, building shopping cart php session, when click submit button on form, $_post able pass value $_session[''] array, when click submit button again, $_session array contain lastly $_post variable , previous variables gone. shopping cart, session array suppose contain every info obtain post value.

i checked session_id, able shows same id when submit form, var_dump shows current session array works (except showing lastly item). please help me wrong in code in order maintain value session array, give thanks you.

here total code, sqli_query replaced specify item_id troubleshooting, php included in php have id in url, seems irrelevant matter, information.

<?php if(!isset($_session)){session_start();}?> <?php //if(isset($_get['id']) && !empty($_get['id'])){ require 'connecttosql.php'; $result = mysqli_query($con,"select colour_en, colour_zh, size mydb.item bring together mydb.colour using(item_id) bring together mydb.size using(item_id) item_id='t76'") or die("error: " . mysqli_error($con)); while($row = mysqli_fetch_array($result)){ $size[] = $row['size']; $colour_zh[] = $row['colour_zh']; $colour_en[] = $row['colour_en']; } mysqli_free_result($result); mysqli_close($con); for($x=0;$x<count($colour_zh);$x++){ $colour[$x] = $colour_zh[$x] . "/" . $colour_en[$x]; } echo "<form action='' method='post'>"; echo "<ul>"; echo "<li>size: </li>"; echo "<li><select name = 'size'>"; foreach(array_unique($size) $sizeli){ echo "<option value = '" . $sizeli . "'>" . $sizeli . "</option>"; } echo "</select></li>"; echo "<li>colour: </li>"; echo "<li><select name = 'colour'>"; foreach(array_unique($colour) $colourli){ echo "<option value = '" . $colourli . "'>" . $colourli . "</option>"; } echo "</select></li>"; echo "<li><input type='submit' name='submit' value='addtocart'></li>"; echo "</ul>"; $_session['size'] = array(); $_session['colour'] = array(); if(isset($_post['submit'])) { $_session['size'][] = $_post['size']; $_session['colour'][] = $_post['colour']; // $_session['id'] = $_get['id']; } echo session_id(); var_dump($_session['size']); var_dump($_session['colour']); // var_dump($_session['id']); /* }else{ include 'index.php'; die(); } */ ?>

you reinitialize (and hence reset) arrays @ every request:

$_session['size'] = array(); $_session['colour'] = array();

add check this:

if(!isset($_session['size'])) { $_session['size'] = array(); } if(!isset($_session['colour'])) { $_session['colour'] = array(); }

php session

Comments

Popular posts from this blog

model view controller - MVC Rails Planning -

ruby on rails - Devise Logout Error in RoR -

html - Submenu setup with jquery and effect 'fold' -