2013-09-30 37 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'] : "";