2013-09-30 28 views
-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>"; 
?> 

任何想法为什么这不工作? 谢谢。

回答

2

在这一行:

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

您还没有分配的$_REQUEST['user_id']$id值,但是你要分配的isset($_REQUEST['user_id'])的结果,这显然计算结果为TRUE并得到转换为1,当你打印出来。

因此,你可以这样做:

$id = $_REQUEST['user_id']; 

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

1

您没有关闭<a></a>标记。所以你的整个桌子是第一个入口的一个重要环节。

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

除了RainFromHeaven的答案。 isset($ _ REQUEST ['user_id'])给出了是否指定了user_id的想法。而且这说你实际需要:

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