Php 会话不在多维数组上工作
我目前很难通过使用会话升级我的代码。这个案子是关于网络艺术的。我现在处于“添加到购物车”过程中。我想使用会话来保留用户选择的项目。但似乎每次我使用此会话时,都没有发生此操作。请帮我解决这个问题。顺便说一句,这是代码Php 会话不在多维数组上工作,php,arrays,session,multidimensional-array,associative-array,Php,Arrays,Session,Multidimensional Array,Associative Array,我目前很难通过使用会话升级我的代码。这个案子是关于网络艺术的。我现在处于“添加到购物车”过程中。我想使用会话来保留用户选择的项目。但似乎每次我使用此会话时,都没有发生此操作。请帮我解决这个问题。顺便说一句,这是代码 <?php session_start(); $q1=isset($_REQUEST['attack']) ? $_REQUEST['attack'] : 'no_value'; if(is_numeric($q1)){ $q1=number_
<?php session_start();
$q1=isset($_REQUEST['attack']) ? $_REQUEST['attack'] : 'no_value';
if(is_numeric($q1)){ $q1=number_format($q1,0);}
$q2=isset($_REQUEST['binge']) ? $_REQUEST['binge'] : 'no_value';
if(is_numeric($q2)){ $q2=number_format($q2,0);}
$q3=isset($_REQUEST['con']) ? $_REQUEST['con'] : 'no_value';
if(is_numeric($q3)){ $q1=number_format($q3,0);}
$q4=isset($_REQUEST['dan_ph']) ? $_REQUEST['dan_ph'] : 'no_value';
if(is_numeric($q4)){ $q1=number_format($q4,0);}
$q5=isset($_REQUEST['childeden']) ? $_REQUEST['childeden'] : 'no_value';
if(is_numeric($q5)){ $q1=number_format($q5,0);}
$q6=isset($_REQUEST['userevie']) ? $_REQUEST['userevie'] : 'no_value';
if(is_numeric($q6)){ $q1=number_format($q6,0);}
$q7=isset($_REQUEST['maze']) ? $_REQUEST['maze'] : 'no_value';
if(is_numeric($q7)){ $q1=number_format($q7,0);}
$q8=isset($_REQUEST['annefrank']) ? $_REQUEST['annefrank'] : 'no_value';
if(is_numeric($q8)){ $q1=number_format($q8,0);}
$q9=isset($_REQUEST['pewds']) ? $_REQUEST['pewds'] : 'no_value';
if(is_numeric($q9)){ $q1=number_format($q9,0);}
$_SESSION['bookrec']=array(
'book1'=>array('callno'=>123005,'price'=>1380,'desc'=>'Attack on Titan Anthology','auth'=>'Scott Synder','quant'=>(int)$q1,'total'=>1380*(int)$q1),
'book2'=>array('callno'=>123006,'price'=>number_format(844,2),'desc'=>'Binge','auth'=>'Tyler Oakley','quant'=>(int)$q2,'total'=>number_format(844,2)*(int)$q2),
'book3'=>array('callno'=>123004,'price'=>number_format(598,2),'desc'=>'A Work in Progress','auth'=>'Connor Franta','quant'=>(int)$q3,'total'=>number_format(598,2)*(int)$q3),
'book4'=>array('callno'=>123003,'price'=>number_format(668,2),'desc'=>'The Amazing Book is Not on Fire','auth'=>'Dan Howell, Phil Lester','quant'=>(int)$q4,'total'=>number_format(668,2)*(int)$q4),
'book5'=>array('callno'=>123002,'price'=>number_format(760,2),'desc'=>'Children of Eden: A Novel','auth'=>'Joey Graceffa','quant'=>(int)$q5,'total'=>number_format(760,2)*(int)$q5),
'book6'=>array('callno'=>123008,'price'=>number_format(799,2),'desc'=>'Username : Evie','auth'=>'Joe Sugg','quant'=>(int)$q6,'total'=>number_format(799,2)*(int)$q6),
'book7'=>array('callno'=>123009,'price'=>number_format(440,2),'desc'=>'The Maze Runner','auth'=>'James Dashner','quant'=>(int)$q7,'total'=>number_format(440,2)*(int)$q7),
'book8'=>array('callno'=>123007,'price'=>number_format(572,2),'desc'=>'Anne Frank: The Biography','auth'=>'Melissa Muller','quant'=>(int)$q8,'total'=>number_format(572,2)*(int)$q8),
'book9'=>array('callno'=>123001,'price'=>number_format(699,2),'desc'=>'This Book Loves You','auth'=>'Pewdiepie','quant'=>(int)$q9,'total'=>number_format(699,2)*(int)$q9)
);
$SESSION['selected']=array();
$selected=$SESSION['selected'];
$b1=implode("<td>",(array)$_SESSION['bookrec']['book1']);
$b2=implode("<td>",(array)$_SESSION['bookrec']['book2']);
$b3=implode("<td>",(array)$_SESSION['bookrec']['book3']);
$b4=implode("<td>",(array)$_SESSION['bookrec']['book4']);
$b5=implode("<td>",(array)$_SESSION['bookrec']['book5']);
$b6=implode("<td>",(array)$_SESSION['bookrec']['book6']);
$b7=implode("<td>",(array)$_SESSION['bookrec']['book7']);
$b8=implode("<td>",(array)$_SESSION['bookrec']['book8']);
$b9=implode("<td>",(array)$_SESSION['bookrec']['book9']);
$bo1=$_SESSION['bookrec']['book1']['total'];
$bo2=$_SESSION['bookrec']['book2']['total'];
$bo3=$_SESSION['bookrec']['book3']['total'];
$bo4=$_SESSION['bookrec']['book4']['total'];
$bo5=$_SESSION['bookrec']['book5']['total'];
$bo6=$_SESSION['bookrec']['book6']['total'];
$bo7=$_SESSION['bookrec']['book7']['total'];
$bo8=$_SESSION['bookrec']['book8']['total'];
$bo9=$_SESSION['bookrec']['book9']['total'];
If(isset($_POST['book1'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book1']){
$selected=$bo1;
$SESSION['selected']=$selected;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b1."</td></tr></table>";
}
}
}
If(isset($_POST['book2'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book2']){
$selected[]=$bo2;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b2."</td></tr></table>";
}
}
}
If(isset($_POST['book3'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book3']){
$selected[]=$bo3;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b3."</td></tr></table>";
}
}
}
If(isset($_POST['book4'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book4']){
$selected[]=$bo4;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b4."</td></tr></table>";
}
}
}
If(isset($_POST['book5'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book5']){
$selected[]=$bo5;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b5."</td></tr></table>";
}
}
}
If(isset($_POST['book6'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book6']){
$selected[]=$bo6;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b6."</td></tr></table>";
}
}
}
If(isset($_POST['book7'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book7']){
$selected[]=$bo7;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b7."</td></tr></table>";
}
}
}
If(isset($_POST['book8'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book8']){
$selected[]=$bo8;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b8."</td></tr></table>";
}
}
}
If(isset($_POST['book9'])){
foreach($_SESSION['bookrec'] as $data){
if($data == $_SESSION['bookrec']['book9']){
$selected[]=$bo9;
echo "<table class='w3-table w3-khaki'><tr><td> ".$b9."</td></tr></table>";
}
}
}
If(empty(isset($_POST['book1'])) && empty(isset($_POST['book2'])) && empty(isset($_POST['book3'])) && empty(isset($_POST['book4'])) && empty(isset($_POST['book5'])) && empty(isset($_POST['book6'])) && empty(isset($_POST['book7'])) && empty(isset($_POST['book8'])) && empty(isset($_POST['book9'])) ){
echo "<table class='w3-table w3-khaki'><tr><td>No items yet<td></tr></table>";
}
echo "<center><b>TOTAL AMOUNT:</b> Php ".number_format(array_sum((array)$selected),2)."</center>";
?>
可能有以下原因
1) 无法在同一页面的同一请求上获取会话值
2) 如果您的服务器连接到路由器,那么您需要使用基于db的会话。您应该减少一些不相关的代码。Mattia Digora----比如?我对此做了研究,但它似乎不起作用。请帮助我有太多的代码,你应该减少它们。我们不想阅读每一行。好的。。我会减少这个。。