好的,我在数据库中有两个用户,分别是用户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>";
?>
任何想法为什么这不起作用? 感谢。
答案 0 :(得分:2)
在这一行:
$id=(isset($_REQUEST['user_id']));
您没有将$_REQUEST['user_id']
的值分配给$id
,但是您要分配isset($_REQUEST['user_id'])
的结果,显然评估为TRUE
并投射到{{ 1}}当你打印出来时。
所以你可以这样做:
1
如果你想在分配之前检查$id = $_REQUEST['user_id'];
是否存在,那么我建议你重构整个程序,因为你不希望在没有必要输入值的情况下执行相关代码,所以一个简单的三元组赢了你太好了。
答案 1 :(得分:1)
您没有关闭<a></a>
标记。所以你的整个表格是第一个条目的一个重要链接。
echo '<td><a href="admin_view_users.php?user_id=' . $row['user_id'] . '">' . $row['user_name'] . '</a></td>';
答案 2 :(得分:1)
RainFromHeaven的答案的补充。 isset($ _ REQUEST [&#39; user_id&#39;])给出了是否指定了user_id的想法。那说你实际上需要:
$id = isset($_REQUEST['user_id']) ? $_REQUEST['user_id'] : "";