php会话变量不会在帖子上更新

时间:2014-02-13 14:48:36

标签: php arrays session

我已经有这个问题已经有几天了,而且我一直在尝试不同的方法来尝试解决这个问题而且我没有得到任何结果。基本上我从数据库中提取数据,使用循环显示数据,添加“删除”按钮,并将数据存储在会话数组中。

当用户按下删除按钮时,页面刷新但我的会话变量没有被更新。谁能告诉我为什么?我正在使用if isset'POST'来更新我的会话变量。仅供参考我的代码中有很多额外的回音,所以我可以看到发生了什么。任何建议将不胜感激。我还在一个JavaScript弹出窗口中查看if语句是否正常工作。弹出窗口也没出现。

<?php
function multilineQ($con, $sql)
{
    $x = 0; // incremented for the ex number

    if (mysqli_multi_query($con,$sql))
        {
          do
            {
            // Store first result set
                if ($result=mysqli_store_result($con))
                {
                    while ($row=mysqli_fetch_assoc($result))
                    {
                        $button = "ex" . $x . "Button";
                        echo "<ex id=\"ex$x\">";
                        echo    $row['ExType'] . ' ----- ' . $row['ExName'] . " " .
                                "<input type=\"submit\" 
                                        name=\"$button\"
                                        value=\"Delete\"> " .
                                " - <b>Button Name: </b>" . $button;
                        echo    "<br />";
                        echo "</ex>"; 

                        // Add to Array
                        // ----------------------
                        $_SESSION['exArray'][$x][0] = 1;
                        $_SESSION['exArray'][$x][1] = $row['ExType'];
                        $_SESSION['exArray'][$x][2] = $row['ExName'];
                        // ----------------------

                        // If delete button pressed...
                        // ----------------------
                        echo "$button If statement created <br /><br />";
                        if (isset($_POST['$button'])) 
                        { 
                            $_SESSION['exArray'][$x][0] = 0;
                            $foo = "Alert: " .  $_SESSION['exArray'][$x][3] . " : Deleted.";
                            echo "<script type='text/javascript'>alert('$foo')</script>";
                        }
                        // ----------------------

                        $x++; // Increment number
                    }
                    mysqli_free_result($con);
                }
            } while (mysqli_next_result($con));
        } else
        {
            echo 'Could not run SQL...';
        }
}
?>

1 个答案:

答案 0 :(得分:0)

您需要在第一个语句中添加session_start()

    <?php
here> session_start();
      function multilineQ($con, $sql)
      {