【发布时间】:2015-11-10 13:25:28
【问题描述】:
我制作了一个包含很多字段的表单。我的旧验证码已经过时,所以我不得不使用新的验证码(我选择谷歌的 reCaptcha)。使用旧的验证码,如果人们填写错误,那么他们可以点击“返回”或此链接(我放在处理数据.php 页面上):
<a href=\"javascript:history.go(-1)\">go back and try again</a>
...然后他们在字段中的所有答案仍然存在。但是在我将其更改为 Google 的 reCaptcha 之后,如果人们忘记点击“我不是机器人”-勾选框并提交表单; - 然后如果他们回去,那么所有的领域都是空的。
那么我该如何解决这个问题?
我正在考虑将 $_POST 数组传递给 $_SESSION 变量。因此,如果他们点击返回,那么 HTML 字段将看起来像这样:
<input type="text" name="foobar" placeholder="foobar"
value="<?php echo $_SESSION['foobar']; ?>" />
但这真的是这样做的方法吗?我不能成为第一个偶然发现这一点的人。 :-/
【问题讨论】:
-
你为什么不向那个复选框添加验证?以免人们忘记它。
-
@Akshay Google 的 reCaptcha 作为 iframe 插入/嵌入。我假设您谈论的是 javascript 错误,如果未单击复选框,则会弹出,这是一个好主意。我不知道这是否可能,因为它是一个 iframe。是吗?