-1

好的,所以我在数据库中有两个用户,用户 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>";
?>

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

4

3 回答 3

2

在这一行:

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

您没有分配$_REQUEST['user_id']to的值$id,而是分配 的结果,当您将其打印出来时isset($_REQUEST['user_id']),它显然TRUE会计算并转换为。1

因此,您可以这样做:

$id = $_REQUEST['user_id'];

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

于 2013-09-30T22:13:43.200 回答
1

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

echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</a></td>';
于 2013-09-30T22:13:00.033 回答
1

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

$id = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : "";
于 2013-09-30T22:18:23.637 回答