Possible Duplicate:
Access PHP variable in JavaScript
我目前正在开发一个测验倒计时器。但是,管理员可以设置不同时间间隔的测验,例如 15、30、45、60 分钟。我将其用作 php 变量,并使用 JavaScript 进行倒计时。我现在面临的问题是我不知道如何在使用 JavaScript 时回显 php 变量。因此,一旦管理员设置 15 分钟并且学生单击测验,15 分钟计时器将开始倒计时,当计时器达到 0 时,它将显示“时间到了!测验结束。答案已成功提交。”
请帮忙! ):
最佳答案
您始终需要记住的是,客户端上发生的任何事情都是可利用的。如果您依靠 Javascript 来更新计时器,那么您也就给予了用户很大的信任,因为他们不会乱搞它。
最好的办法是使用 JS 处理计时器以实现图形目的,并让服务器检查实际时间。
有多种方法可以做到这一点,我想到的一种是:
学生开始测验,您将使用 echo 语句动态生成 JS 代码,或者直接生成,例如:
echo "<script type='text/javascript'>var maxtime=".$maxtime."; ... </script>";
或者(更好)正如另一个答案所说,生成一个隐藏字段,然后您可以从 JS 中读取该字段。
PHP 代码还将最大完成时间(即当前时间 + 15 分钟或任何分配的时间)存储在 session 变量中。
您将有一个 JS 计数器,该计数器会下降到 0。当它达到 0 时,它将自动提交页面,或要求用户这样做等。
提交答案时(或者因为时间用完,或者因为用户及时完成并自己提交答案),PHP 将检查当前时间是否不大于 session 变量中存储的最大时间.
这将允许您检查用户没有作弊。
这不是唯一的选择,例如,您可以将开始时间(或最大完成时间)保存在数据库中,这实际上取决于您如何对页面进行编码。
关于php - 如何使用 javascript 回显 php 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374240/