打印时未更新值


Value not getting updated while printing

好的,所以我在数据库中有两个用户,用户 ID 分别为 1 和 2。我正在尝试获取他们的用户ID,然后将其打印在另一页上。但是,每次它都会将用户 ID 显示为 1。

这是代码:-第一个代码是我打印的地方

<?php
include('dbconnector.php');
$id=(isset($_REQUEST['user_id']));
echo $id;
?>

第二个代码是我获取这些详细信息的地方:-

<?php
include('dbconnector.php');
//fetch the user information
$query = "select * from users";
$result=mysql_query($query, $db) or die (mysql_error($db));
echo "<table>";
echo "<tr>";
echo "<th> User ID</th>";
echo "<th> User Name</th>";
echo "</tr>";
while($row=mysql_fetch_assoc($result))
{
    echo "<tr>";
    echo "<td>" . $row['user_id'] . "</td>";
    echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</td>';
    echo "</tr>";
}
echo "</table>";
?>

关于为什么这不起作用的任何想法?谢谢。

在这一行中:

$id=(isset($_REQUEST['user_id']));

您没有将 $_REQUEST['user_id'] 的值分配给$id,而是将 isset($_REQUEST['user_id']) 的结果分配给 ,这显然是 TRUE 并在您打印时转换为1

因此,您可以执行以下操作:

$id = $_REQUEST['user_id'];

如果你想在分配之前检查$_REQUEST['user_id']是否存在,那么我建议你重组整个程序,因为你不希望依赖代码在没有必要的输入值的情况下执行,所以一个简单的三元对你没有多大好处。

您没有关闭 <a></a> 标记。所以你的整个表是第一个条目的一个大链接。

echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</a></td>';

RainFromHeaven 答案的补充。isset($_REQUEST['user_id']) 给出了是否指定了user_id的想法。也就是说,您实际上需要:

$id = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : "";