Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话不在多维数组上工作_Php_Arrays_Session_Multidimensional Array_Associative Array - Fatal编程技术网

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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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>&nbsp".$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----比如?我对此做了研究,但它似乎不起作用。请帮助我有太多的代码,你应该减少它们。我们不想阅读每一行。好的。。我会减少这个。。