我無法從鏈接獲取數據如何檢索通過鏈接發送的數據?
如何檢索review.php頁面上的數據$ row ['review']?
<td align="left"><a href="review.php?id='. $row['review'] . '"> Read Review </a>
我無法從鏈接獲取數據如何檢索通過鏈接發送的數據?
如何檢索review.php頁面上的數據$ row ['review']?
<td align="left"><a href="review.php?id='. $row['review'] . '"> Read Review </a>
在你reviews.php
,你可以這樣做:
$reviewID = $_GET['id'];
,並確保它的設置,我會做到以下幾點:
$reviewID = (isset($_GET['id']) : $_GET['id'] ? NULL;
說明:
超鏈接的href值與012類似。查詢字符串(作爲名稱/值對)在GET請求的URL中發送。由於請求方法是GET
,因此您需要使用$_GET
超全局數組,因此$_POST
將不起作用。
if ($_SERVER['REQUEST_METHOD'] === 'GET') {
//do something
}
希望這回答了你的問題:
,如果你想查詢請求類型可以使用$_SERVER['REQUEST_METHOD']
。
'is_null'不是必需的,因爲'isset'檢查它是否存在並且不爲空。 –
如果變量爲空,則isset()不會返回* true *,因此'is_null()'實際上不是必需的。 – ComFreek
謝謝。我已經更新了答案。 –
使用$_GET
超全局集合,它包含每個querystring值。
$review = $_GET['id'];
應該是'$ _GET ['id']'。 – ComFreek
謝謝你的工作很棒。 $ _post怎麼不起作用? – user1829823
@ user1829823:我的答案*可能會回答你的問題。 –
它是總是最好在嘗試抓取它之前檢查GET變量是否存在。要檢查它是否可用,並且不爲空,你可以這樣做:
$__review_ID = isset($_GET['id']) ? $_GET['id'] : FALSE;
由於PHP的最佳實踐,您可以使用filter_input
:
PHP's new input_filter does not read $_GET or $_POST arrays
這是因爲你需要進行殺毒的數據傳遞到保持侑應用從注入代碼,XSS等安全...
FILTER_SANITIZE_ENCODED
FILTER_SANITIZE_NUMBER_INT
FILTER_SANITIZE_EMAIL
FILTER_SANITIZE_URL
我認爲這個問題是重複的,需要關閉。
那你爲什麼用不相關的信息回答它? –
爲什麼其他答案是有效的,但正如我之前所說:如果最佳做法有任何相關性,*可能*這個問題是重複的。 –
*我認爲這個問題是重複的,需要關閉。* - 我正在談論這個問題。如果你認爲這個問題id重複,那麼在評論中這樣說,並鏈接到重複。如果您有近距離投票權,請對其進行近距離投票。說它是重複的,並回答無關的信息不會有幫助。 –
With'$ _GET ['id']' – Sammitch