我正在設計一個尋寶遊戲類的在線測驗。總共有10個文件,即1.php,2.php..10.php。只有當玩家回答當前問題頁面,他必須重定向到下一頁,但在我的情況下,如果玩家修改URL,他可以查看下一個問題,我可以防止這個。感謝您的幫助。PHP重定向到頁面問題
回答
問題完成時存儲會話變量。如果會話變量的值小於被訪問問題的編號,則拒絕訪問。
session_start();
// just finished question 5, for example
// The user may now access question 6
$_SESSION['question'] = 6;
// User attempts to access a question:
// Suppose $current_question is 7
if ($_SESSION['question'] < $current_question) {
// deny
}
else {
// display the question
}
,謝謝你的幫助。我通過存儲數據庫中回答的問題數量並使用「標題」命令重定向到該頁面來解決問題。 –
存儲用戶在會話變量中訪問的最大頁碼。
即在4.php,你會做$_SESSION['page'] = 4;
在5.php,你會檢查$_SESSION['page']
至少4
請注意,你需要呼籲session_start()
在使用會話的所有頁面上訪問$_SESSION
之前。
只是將其更改爲不可預知的名字,像kiran.php代替1.PHP,likeyouknowit.php代替2.PHP等
直到有人將它們寫下來並將它們發佈到某個論壇。 –
這並不能解決客戶的長期問題 –
@Michael:和他們寫下答案不同嗎?我個人喜歡這種方式:所以如果我必須中途退出,我仍然可以在以後再回來,而不是再次這樣做(除非OP需要它)。馬克:OP說他只有10頁,所以我選擇了一個簡單的解決方案,而不是一個可擴展的解決方案。 –
你可以一起傳遞一個隨機ID,客戶端,當您重定向他到下一頁,然後在他到達下一頁時驗證隨機ID。我想這和使用php會話是一樣的。 http://us.php.net/manual/en/book.session.php
我通過存儲在數據庫中回答問題的數量和使用header
命令重定向到該頁面解決了這個問題。
在每個頁面中檢查是否(回答的問題數量=當前問題-1)。如果真正顯示問題,則重定向到用戶實際應該在的頁面。 –
- 1. 頁面重定向問題在php
- 2. 頁面重定向問題
- 3. 頁面重定向問題
- 4. 問題重定向到同一頁面
- 5. PHP頭問題(),重定向到父目錄中的HTML頁面
- 6. 春季頁面重定向:找不到頁面問題
- 7. PHP不重定向到特定頁面
- 8. 頁面重定向(標題)問題在PHP
- 9. PHP頁面重定向問題 - 無法修改標題信息
- 10. codeigniter頁面重定向問題
- 11. Struts2頁面重定向/轉發問題
- 12. Github頁面重定向問題
- 13. C#NET.WebClient DownloadString()問題 - 頁面重定向
- 14. 移動頁面重定向問題
- 15. ASP.NET登錄頁面重定向問題
- 16. 問題與四郎頁面重定向
- 17. Drupal頁面 - front.tpl.php重定向問題
- 18. Sharepoint 2007頁面重定向問題
- 19. 重定向頁面有一些問題
- 20. 頁面重定向問題codeigniter
- 21. Watin - 頁面重定向問題
- 22. 頁面重定向在PHP
- 23. PHP重定向頁面
- 24. PHP頁面重定向
- 25. 頁面重定向在php
- 26. 重定向PHP頁面
- 27. 頁面未重定向,php
- 28. PHP cURL重定向到登錄頁面
- 29. PHP htaccess重定向頁面未找到
- 30. PHP重定向到一個頁面
你可以使用會話來存儲玩家所在的步驟,然後只需要一個question.php頁面,根據他們的進度向他們展示下一個問題。 – cope360