我正在尝试将会话变量从一个页面传递到另一个页面,但它会一直返回相同的' 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
但是,如果我在循环内部回显该会话,则返回正确的值
答案 0 :(得分:0)
但是,如果我在循环内部回显该会话,则返回正确的值
当你绕过循环时,你将变量设置为每个 $row["dashboard_id"];
依次。
每次设置时都会回显它。
因此,您会看到您提供的每个值。
当我点击循环内部的/,index.php文件的链接时,我希望在该页面上回显出会话变量,但它只是不断返回&#39; 2&#39;
这将是结果集中的最后 $row["dashboard_id"];
。即您将该变量设置为的最后一个值。