【发布时间】:2011-02-19 23:13:51
【问题描述】:
这个问题可能已经被问过了 - 但不幸的是,我找不到任何令人满意的答案。我将就我的具体情况询问它,并要求管理员至少在几天内不要删除该问题,以便我可以尝试...
我有一个页面。它使用验证码。像这样:
<?php
session_start(); // the captcha saves the md5 into the session
?>
<img src="captcha.php" onclick="this.src = this.src" />
那是我的第一个代码。它不起作用,因为浏览器认为如果源相同,重新加载图像是没有用的。我目前的解决方案是传递一个get参数:
onclick="this.src = 'captcha.php?randomNumber='+ranNum"
每次触发onclick 事件时,都会随机生成 JavaScript 变量 var ranNum。它工作得很好,尽管如此,我不喜欢这种可能性,如果 - 虽然不太可能 - 两个数字连续两次相同的情况。尽管随机数在 -50,000 和 50,000 之间变化 - 我仍然不喜欢它。而且我认为方法不对。我想通过 AJAX 了解“更正确”的方法。我知道这是可能的。我希望你知道这是怎么可能的^^在那种情况下,请告诉我。
提前致谢!
顺便说一句 - 如果我拼写不同的 cap(t)cha,没关系,对 PHP 文件的引用在我的代码中是正确的:我使用 randomImage.php
编辑:JavaScript 中的随机数仅生成,以便重新加载图像。 Captcha.php 不关心 $_GET 参数。这个字符串真的是随机的。
编辑:因此,我想知道的是如何让浏览器重新加载图像,而无需在每次事件触发时传递不同的 get 参数。
【问题讨论】:
-
是的,我想没有什么比读书更重要了;)
标签: php javascript ajax captcha reload