2016-09-21 31 views
0

我必須編寫一個測驗應用程序,其中包含將所選答案發送到「results.php」的不同頁面,然後查詢數據庫到相關表以將答案與「answerkey」表進行比較。

我想有選擇地從數據庫中查詢不同的表格,具體取決於發佈數據來自哪個頁面。

說如果數據來自'functions.php',我會查詢'功能'表。

這是如何實現的?

+0

試試這個代碼,如果你想要像你提到的文件名'echo basename($ _ SERVER ['PHP_SELF'],「.php」);' – user6838959

回答

2

我想選擇性地從依賴於數據庫查詢不同的表...

只需在包含任何標誌,你會用它來確定這個條件的形式隱藏字段。事情就這麼簡單:

<input type="hidden" name="sourcePage" value="Functions" /> 

然後在服務器端的代碼,你可以檢索該值:

$_POST['sourcePage'] 

基本上,信息被髮送到服務器已經是一種形式,所以,當你希望包含更多信息,只需將其包含在該表單中即可。

0

全局變量$_SERVER['HTTP_REFERER']應包含該請求是通過將其從用戶隱藏第二個窗體輸入字段提交

+2

不要使用$ _SERVER ['HTTP_REFERER']非常不可靠,並可能導致問題 – virepo

+0

我檢查了文檔。 David提供的解決方案滿足了我的需求。 – Br34th7aking

+0

'HTTP_REFERER' 將用戶代理引用到當前頁面的頁面地址(如果有)。這由用戶代理設置。並非所有的用戶代理都會設置它,有些提供了將HTTP_REFERER修改爲功能的功能。 **總之,它不能真正被信任**。 請參閱http://php.net/manual/en/reserved.variables.server.php – user6838959

1

您可以輕鬆地做到這一點的URL。

例如:

<input type="hidden" name="the_page_requester" value="name_of_page" /> 

而且在你的PHP代碼,你可以做到以下幾點:

$pageRequester = $_POST['the_page_requester'] 
-1

我認爲這個解決方案是更好的:

$table = pathinfo($_SERVER['SCRIPT_NAME'])['filename']; 

現在你可以使用$table來組裝你的sql。

+0

這將返回*當前正在執行的*腳本的路徑,而不是前一頁。 – David

相關問題