在php会话中为每个id设置大小

时间:2013-10-13 22:39:20

标签: php jquery ajax session

好的,我已经打了很长一段时间了,这真的很烦人。所以我需要一些帮助。

我有一个下拉菜单,允许用户为他们购买的图片选择尺寸。该值需要保存在php会话中并分配给该特定图片,允许用户在每张图片上选择具有不同尺寸的多张图片。

当用户选择尺寸时,我通过ajax提交下拉列表:

<script type="text/javascript">
    $('#sizeConfirm').click(function() {
        var size = $("#sizeSelector option:selected").val(); 
        var id = $("#idInput").val();
        $("#sizeId"+id).html(size);

        var dataString = 'size='+ size + '&id='+id;

        $.ajax({
            type:"POST", 
            url: "../functions/size-functions.php",
            data: dataString,
            success: function() {

            }
        })
    })
</script>

这提交到以下脚本:

<?php 

   session_start();

   $id = $_POST['id'];

   $_SESSION['size'][$id] = $_POST['size'];

?>

我已使用上面代码中的设置将图片添加到购物车。我将<?php echo $_SESSION['size']; ?>放置在放置java脚本的同一页面上,因此我收到了ArrayUser selects Category -- This works User selects Picture -- This works User select size on cart page -- This is what the question is about.

我做错了什么?有人可以帮我吗?

基本上,我希望能够做到以下几点:

<select class="form-control" id="sizeSelector">
    <option>Select a Size</option>
    <option>4x4</option>
    <option>4x6</option>
    <option>5x7</option>
    <option>6x6</option>
    <option>8x8</option>
    <option>8x10</option>
    <option>8x12</option>
    <option>10x12</option>
    <option>12x16</option>
    <option>4x18</option>                   
</select>

如果有帮助,select选项如下所示:

{{1}}

我不确定在这个问题中应该放什么 - 所以如果你相信我错过了需要找到解决方案的东西,只需评论并告诉我,我会添加它。谢谢!

1 个答案:

答案 0 :(得分:1)

因为您将会话指定为数组$_SESSION['size'][$id]

要显示结果,请尝试以下操作:

<?php
session_start();
$id = "1";//$_POST['id'];
$size="14";//$_POST['size'];
$_SESSION['size'][$id] = $size;
//print_r($_SESSION['size']);


echo $_SESSION['size'][$id];
?>

编辑: 这将显示他们正在查看的每个产品的选定大小。