PHP重定向到页面问题

时间:2011-08-20 18:08:09

标签: php

我正在设计一个寻宝类型的在线测验。总共有10个文件,即1.php,2.php..10.php。只有当玩家回答当前页面上的问题时,他必须被重定向到下一页,但在我的情况下,如果玩家修改了URL,他可以查看下一个问题。我是否会阻止这一点。谢谢你的帮助。

5 个答案:

答案 0 :(得分:2)

将用户访问过的最高页码存储在会话变量中。

即。在4.php上,你会$_SESSION['page'] = 4;

在5.php上,您将检查$_SESSION['page']是否至少为4。

请注意,在使用会话的所有网页上访问session_start()之前,您需要先调用$_SESSION

答案 1 :(得分:1)

问题完成后存储会话变量。如果会话变量的值小于要访问的问题的数量,则拒绝访问。

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
}

答案 2 :(得分:0)

当您将其重定向到下一页时,您可以将随机ID与客户端一起传递,然后在他到达下一页时验证该随机ID。我想这与使用php会话是一回事。 http://us.php.net/manual/en/book.session.php

答案 3 :(得分:0)

我通过存储数据库中回答的问题数量并使用header命令重定向到该页面来解决问题。

答案 4 :(得分:-1)

只需将它们更改为不可预知的名称,例如kiran.php而不是1.php,likeyouknowit.php而不是2.php等。