这个问题可能已经被问过了,但是很遗憾,我没有找到令人满意的答案。我将为我的具体情况提出这个问题,并请求管理员不要在至少几天内删除该问题,以便我可以尝试一下...
我有一个页面。它使用验证码。就像这样:
JavaScript变量
我有一个页面。它使用验证码。就像这样:
<?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"
JavaScript变量
var ranNum
在每次onclick
事件触发时随机生成。虽然它能正常工作,但我不喜欢有可能出现两个数字连续相同的情况,即使这种情况很少出现。尽管随机数在-50,000到50,000之间变化,我仍然不喜欢。而且我认为这种方法不正确。我想知道通过AJAX实现更好的方法。我知道这是可能的。希望你知道如何实现,并向我展示。
提前感谢!
顺便说一下 - 如果我拼写cap(t)cha不同,请不要介意,PHP文件的引用在我的代码中是正确的:我使用randomImage.php
编辑:JavaScript中的随机数仅在图片重新加载时生成。Captcha.php不关心$_GET参数。字符串确实是随机的。
编辑:因此,我想知道如何使浏览器在每次事件触发时重新加载图像,而不必传递不同的get参数。