簡體   English   中英

id在PHP的2個頁面之間傳遞

[英]id passing between 2 pages in PHP

我一直在研究一種將變量從一頁傳遞到另一頁的方法。 這是我的考試,我需要幫助,因為老師說我可以使用互聯網來尋求幫助。 我創建的用於傳遞變量的鏈接無法正常工作,因為學生ID或電子郵件應該傳遞給該鏈接。 這是相對代碼:

echo "<table border=1><th colspan=7>Placed Orders</th></tr><tr><td>Student ID or Email</td><td>Name</td><td>Phone Number</td><td>Room Number</td><td>Order</td><td>Approval</td><td>&nbsp;</td></tr>";
while ($row=mysql_fetch_array($result)) {
    $id = $row["StudentIDorEmail"];
    $name = $row["Name"];
    $phone = $row["Phone"];
    $roomnumber = $row["RoomNumber"];
    $order = $row["Orders"];
    $approval = $row["Approved"];
    echo "<tr><td align='center'>" . $id . "</td><td align='center'>" . $name . "</td><td align='center'>" . $phone . "</td><td align='center'>" . $roomnumber . "</td><td align='center'>" . $order . "</td><td align='center'>" . $approval . "</td><td align='center'><a href='approve.php?id=".$id."'>Fill Order</a></td></tr>";
}
echo "</table>";

我試圖將變量傳遞到approve.php頁面,以便可以將該行設置為1,然后將其更改為1時,將其從數據庫中刪除。 這一直導致我不斷出錯,而且我不知道出什么問題了。 這是應該傳遞給頁面的相對代碼的另一部分:

$id = $_GET["StudentIDorEmail"];
$query = "UPDATE tracker WHERE StudentIDorEmail=$id";
if (mysql_query($query, $con)) {
$query1 = "DELETE FROM tracker WHERE Approved=1";
if(mysql_query($query1, $con)) {
    echo "Order was filled successfully!";
} else {
    echo "Error: " . mysql_error();
}

}

請幫忙,因為這是我考試的要求,我已經快完成了。

您的鏈接是'approve.php?id=".$id."'

這意味着您需要訪問$_GET['id'] ,而不是$_GET['StudentIDorEmail']

為了將來參考,請嘗試var_dump($_GET)看看那里有什么變量。

編輯:您應該了解有關SQL注入。

XKCD

在這種情況下,可以使用$id = intval($_GET['id'])來確保僅獲取數字。

真的很簡單

<a href='approve.php?id=".$id."'>

更改為:

<a href='approve.php?StudentIDorEmail=".$id."'>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM