2012-05-05 71 views
0

我想在用戶登錄時進行選項編輯產品。 這是用戶點擊網頁上的編輯時的鏈接。如何在php中獲取url值?

<a href="edit.php?id=<?php $id=$data['gameId'];echo $id;?>" ><input type="button" value="Edit"/></a> 

然後在編輯頁面,有提交按鈕,我填與doUpdate.php一些驗證我試圖從URL獲得ID在doUpdate.php進行數據庫更新(Id是主鍵,我用我的SQL數據庫),所以我用這個代碼

$id= $_GET['id']; 

的問題是,爲什麼$ ID不能把價值從URL中的ID?我應該如何解決這個問題? (它還沒有託管,我使用本地主機,因爲我還在學習)

回答

1

如果我正確理解你的問題是沒有得到在edit.php的ID,但得到的ID在doUpdate.php。推測你的編輯頁面在發佈日期到doUpdate頁面,在這種情況下你需要做兩件事情。

首先在編輯頁面上的表單裏面,你需要添加你內心隱藏的元素formcontaining你想傳遞給doUpdate.php

<input type="hidden" name="id" value="<?php echo $_GET['id']; ?>"/> 

,然後在doUpdate.php從獲取它的ID在$ _ POST全球

$id = $_POST['id']; 
+0

是的,我無法在doUpdate.php中找到id。我添加了隱藏輸入類型作爲您的建議,但它仍然無法正常工作。儘管我使用了$ _GET ['id']並且它位於URL中,爲什麼我無法獲得該ID? – greenthunder

+0

哦!我現在明白你的意思了。其作品 :) – greenthunder

0

<a>標記內的代碼不正確。另外,<a>內不能有<button>。試試這個:

<a href="edit.php?id=<?php echo $data['gameId'];?>">Edit</a> 
+0

我想通過按鈕進行鏈接。我的代碼不正確嗎?因爲我總是在我的網絡中使用它 – greenthunder

+0

您可以將鏈接設置爲看起來像一個按鈕。但是,是的,在鏈接中使用'

+0

@Ravinder,請參閱[本答案](http://stackoverflow.com/a/802876)。超鏈接內的按鈕無法正常工作跨瀏覽器。 – Nadh

0

這是可能的PHP以這種方式使用的功能,稱爲register_globals的自動設置變量,但使用此功能可以在你的應用程序,它就是爲什麼它目前已棄用開拓的安全漏洞,並會最終會從PHP中刪除。

PHP手冊具有如下特徵的詳細解釋,爲什麼它不應該被用來:http://php.net/manual/en/security.globals.php

1

你必須要麼編輯您的edit.php形式的行動,比如<form name="edit" action="doUpdate.php?id=<?= $_GET['id'] ?>,或者你只是創建一個輸入框,表格,其中有從GET參數值的範圍內。 。