会话值不是正确的值

时间:2016-12-06 16:02:21

标签: php mysql

我正在尝试将会话变量从一个页面传递到另一个页面,但它会一直返回相同的' 2'我不完全确定这个价值来自哪里。

我在一个功能中设置值,以便将仪表板中的值的id设置到会话中。

function listDashboards() {
global $conn;


    $sql = "SELECT * FROM dashboards";
        $result = $conn->query($sql);

        if($result->num_rows > 0){
            while($row = $result->fetch_assoc()){

                $_SESSION['dansDashboardId'] = $row["dashboard_id"]; // HERE

                echo $_SESSION['dansDashboardId']; // AND HERE

                echo '<div class="dashboardListRow">';
                echo '<a href="../index.php">' . $row["dashboard_name"] . '</a>';
                echo '<button>View Dashboard</button>';         
                echo '<a href="dashboard.php?dashboard_id=' . $row["dashboard_id"] . '">' . '<button>Manage Dashboard</button></a>';            
                echo '</div>';

            }
        } else{
            header('Location: create-dashboard.php');
        }

    }

当我点击循环内部,,/index.php文件的链接时,我希望在该页面上回显出会话变量,但它只是不断返回&#39; 2&#39;

$dashboardIdNew = $_SESSION['dansDashboardId'];

echo $dashboardIdNew只返回2

但是,如果我在循环内部回显该会话,则返回正确的值

1 个答案:

答案 0 :(得分:0)

  

但是,如果我在循环内部回显该会话,则返回正确的值

当你绕过循环时,你将变量设置为每个 $row["dashboard_id"]; 依次

每次设置时都会回显它。

因此,您会看到您提供的每个值。

  

当我点击循环内部的/,index.php文件的链接时,我希望在该页面上回显出会话变量,但它只是不断返回&#39; 2&#39;

这将是结果集中的最后 $row["dashboard_id"];。即您将该变量设置为的最后一个值。