php - 如何使用 javascript 回显 php 变量?

标签 php javascript

Possible Duplicate:
Access PHP variable in JavaScript

我目前正在开发一个测验倒计时器。但是,管理员可以设置不同时间间隔的测验,例如 15、30、45、60 分钟。我将其用作 php 变量,并使用 JavaScript 进行倒计时。我现在面临的问题是我不知道如何在使用 JavaScript 时回显 php 变量。因此,一旦管理员设置 15 分钟并且学生单击测验,15 分钟计时器将开始倒计时,当计时器达到 0 时,它将显示“时间到了!测验结束。答案已成功提交。”

请帮忙! ):

最佳答案

您始终需要记住的是,客户端上发生的任何事情都是可利用的。如果您依靠 Javascript 来更新计时器,那么您也就给予了用户很大的信任,因为他们不会乱搞它。

最好的办法是使用 JS 处理计时器以实现图形目的,并让服务器检查实际时间。

有多种方法可以做到这一点,我想到的一种是:

  1. 学生开始测验,您将使用 echo 语句动态生成 JS 代码,或者直接生成,例如:

    echo "<script type='text/javascript'>var maxtime=".$maxtime."; ... </script>";

    或者(更好)正如另一个答案所说,生成一个隐藏字段,然后您可以从 JS 中读取该字段。

  2. PHP 代码还将最大完成时间(即当前时间 + 15 分钟或任何分配的时间)存储在 session 变量中。

  3. 您将有一个 JS 计数器,该计数器会下降到 0。当它达到 0 时,它将自动提交页面,或要求用户这样做等。

  4. 提交答案时(或者因为时间用完,或者因为用户及时完成并自己提交答案),PHP 将检查当前时间是否不大于 session 变量中存储的最大时间.
    这将允许您检查用户没有作弊。

这不是唯一的选择,例如,您可以将开始时间(或最大完成时间)保存在数据库中,这实际上取决于您如何对页面进行编码。

关于php - 如何使用 javascript 回显 php 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8374240/

相关文章:

php - mysql_fetch_array()/mysql_fetch_assoc()/mysql_fetch_row()/mysql_num_rows 等...期望参数 1 是资源

php - 使用 php 获取用户 ip 地址的最可靠方法?

javascript - Mithril.js - getScript

javascript - 如何解决由于多个 jQuery 文件导致的多次回发问题?

javascript - 需要创建 javascript 小部件的提示

php - 在 while 语句 PHP/MYSQL 中从时间表计算时间

php - 增加 PHP 内存限制(Apache、Drupal6)

php - 使用 php 发送确认电子邮件

javascript - 如何从下面开始显示第二个 div 的内容?

javascript - 输入更改时如何通知我?