PHP $ _SESSION仅存储最后一个变量

用户名

感谢您的阅读,我正在构建一个带有PHP会话的购物车,当我单击表单上的Submit按钮时,$ _ POST能够将值传递给$ _SESSION ['']数组,但是当我单击再次提交按钮,$ _ SESSION数组仅包含我的最后一个$ _POST变量,而先前的变量都消失了。作为购物车,会话数组假定包含从POST值获取的每个数据。

我检查了SESSION_ID,在提交表单时它可以显示相同的ID,而var_dump显示当前SESSION数组的工作方式(只显示最后一项)。请帮助我代码中的错误,以便将值保留在SESSION数组中,谢谢。

这是完整的代码,已替换sqli_query以指定item_id进行故障排除,此php也将包含在另一个url中具有id的php中,这似乎与此无关,仅供参考。

<?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 FROM mydb.item join mydb.colour using(item_id) join mydb.size using(item_id) WHERE 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) as $sizeli){
        echo "<option value = '" . $sizeli . "'>" . $sizeli . "</option>";
    }
    echo "</select></li>";
    echo "<li>colour: </li>";
    echo "<li><select name = 'colour'>";
    foreach(array_unique($colour) as $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();
}
*/
?>
托比亚斯

您可以在每次请求时重新初始化(并因此重置)阵列:

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

像这样添加支票:

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP $ _SESSION仅存储最后一个变量

来自分类Dev

$ _SESSION变量仅存储一个值

来自分类Dev

如何将我的网址中的最后一个值存储到php中的变量中?

来自分类Dev

从 React 中的 JSON 推送时,数组仅存储最后一个变量

来自分类Dev

变量仅存储 Firebase 数据库的最后一个值

来自分类Dev

ArrayList仅存储最后一个元素

来自分类Dev

执行一个PHP页面并存储在一个变量中?

来自分类Dev

PHP SESSION数组仅存储在索引0中

来自分类Dev

使用PHP的regex将特定数据存储在另一个变量的变量中

来自分类Dev

在本地存储一个JavaScript变量,该变量以.php脚本递增

来自分类Dev

使用$ _SESSION存储日期并将其传输到另一个php文件

来自分类Dev

在整个网页中一次存储一个PHP变量。

来自分类Dev

如何显示一个 div 的次数与存储在 PHP 变量中的次数一样多?

来自分类Dev

将第一个结果值存储到PHP中的sql查询变量中

来自分类Dev

如何比较存储在php中的一个变量中的多个日期?

来自分类Dev

将第一个结果值存储到PHP中的sql查询变量中

来自分类Dev

在php变量内创建一个php变量

来自分类Dev

HTML SRC =一个PHP变量

来自分类Dev

PHP的foreach的一个变量

来自分类Dev

生成python字典仅存储来自iterable的最后一个值

来自分类Dev

生成python字典仅存储来自iterable的最后一个值

来自分类Dev

使用PHP的正则表达式将特定数据存储在另一个变量的变量中

来自分类Dev

如何使struct一次仅存储一个变量?C ++

来自分类Dev

php-获取多维数组的最后一个索引

来自分类Dev

Json_Encode PHP最后一个逗号

来自分类Dev

重定向到最后一个被允许的页面PHP

来自分类Dev

php从路径中删除最后一个“ /”

来自分类Dev

如何删除PHP中的最后一个元素

来自分类Dev

在PHP中获取最后一个数组的数量

Related 相关文章

  1. 1

    PHP $ _SESSION仅存储最后一个变量

  2. 2

    $ _SESSION变量仅存储一个值

  3. 3

    如何将我的网址中的最后一个值存储到php中的变量中?

  4. 4

    从 React 中的 JSON 推送时,数组仅存储最后一个变量

  5. 5

    变量仅存储 Firebase 数据库的最后一个值

  6. 6

    ArrayList仅存储最后一个元素

  7. 7

    执行一个PHP页面并存储在一个变量中?

  8. 8

    PHP SESSION数组仅存储在索引0中

  9. 9

    使用PHP的regex将特定数据存储在另一个变量的变量中

  10. 10

    在本地存储一个JavaScript变量,该变量以.php脚本递增

  11. 11

    使用$ _SESSION存储日期并将其传输到另一个php文件

  12. 12

    在整个网页中一次存储一个PHP变量。

  13. 13

    如何显示一个 div 的次数与存储在 PHP 变量中的次数一样多?

  14. 14

    将第一个结果值存储到PHP中的sql查询变量中

  15. 15

    如何比较存储在php中的一个变量中的多个日期?

  16. 16

    将第一个结果值存储到PHP中的sql查询变量中

  17. 17

    在php变量内创建一个php变量

  18. 18

    HTML SRC =一个PHP变量

  19. 19

    PHP的foreach的一个变量

  20. 20

    生成python字典仅存储来自iterable的最后一个值

  21. 21

    生成python字典仅存储来自iterable的最后一个值

  22. 22

    使用PHP的正则表达式将特定数据存储在另一个变量的变量中

  23. 23

    如何使struct一次仅存储一个变量?C ++

  24. 24

    php-获取多维数组的最后一个索引

  25. 25

    Json_Encode PHP最后一个逗号

  26. 26

    重定向到最后一个被允许的页面PHP

  27. 27

    php从路径中删除最后一个“ /”

  28. 28

    如何删除PHP中的最后一个元素

  29. 29

    在PHP中获取最后一个数组的数量

热门标签

归档