将变量从一个页面传递到下一页

时间:2014-02-13 11:49:39

标签: javascript php jquery ajax

我正在开发一个问题&回答用户在页面上呈现五个谜题的网站,并且当他在页面上尝试问题时使用JavaScript计算得分。分数保存在Javascript变量score中。我有这样的分页系统:

Page numbers

现在,当用户点击 3 时,我想将变量score发送到下一页,我在每个页面上都有require scoreUpdateInDatabase.php这样的分数上一页对数据库是永久性的,下面的PHP脚本向他展示了接下来的5个问题。

如何以安全的方式传递score变量?我无法使用GET因为用户会修改它。我对POST感到满意,如果可以使用它,即使可以修改POST数据,但我只想要最小的安全性。

P.S。请不要建议将AJAX调用放在哪一边我将发送score并在返回时提出接下来的5个问题。我不想使用AJAX刷新内容,因为它是not SEO friendly

5 个答案:

答案 0 :(得分:1)

最简单的解决方案是基于cookie。将值写入会话cookie并阅读它。

您可以使用jquery cookie。如果需要,它还为您提供了要求https的选项。

答案 1 :(得分:0)

将其保存在会话中。 POST在这种特殊情况下同样有效,但我的偏好是将它存储在会话中。

答案 2 :(得分:0)

唯一安全的方法是使用POST或AJAX将实际答案传递给服务器,同时在服务器端计算分数并将其保存在SESSION变量中

有关sessions in PHP

的更多信息

答案 3 :(得分:0)

尝试查看Jquery - 您应该能够将值返回到服务器脚本语言(因为您将PHP列为标记,我假设您使用的是PHP)。通过使用Jquery,您可以在将表单提交到下一页之前将javascript变量添加到表单中。

假设您已使用PHP生成最初提交的表单,而不是在javascript中创建表单。我会使用Jquery - 在PHP脚本中获取此文件(http://jquery.com/)和include("jquery.js");等...以便使用它。

然后我将javascript变量转换为php变量并将其分配给表单中的隐藏字段,以使用$_POST[]变量提交到下一页。

答案 4 :(得分:-1)

然而它不会对SEO友好(POST和SESSION不是SEO友好,但你应该使用它们,继续阅读)

我们正在谈论一场比赛。没有人希望搜索引擎索引游戏的最后一页......因为每个人都可以在谷歌(例如)上搜索游戏的最后一页而不玩游戏。

你必须使用ajax或post,但不要让google索引你游戏的每一页。这是无稽之谈。

只应将游戏的第一页编入索引。