写了个JS脚本来刷新验证码 可是总是刷不出来 求高手
index.php<imgsrc='for2.php?'><br><br><scripttype="text/javascript"src="ajax2.js"></sc...
index.php
<img src='for2.php?'><br><br>
<script type="text/javascript" src="ajax2.js"></script>
<a href="#" onclick="funphp()">换一张</a>
<div id="php"></div>
for2.php
<?php
error_reporting(0);
session_start();
for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION[check_pic]=$rand;
$im = imagecreatetruecolor(100,30);
$bg= imagecolorallocate($im,0,0,0);
$te= imagecolorallocate($im,255,255,255);
for($i=0;$i<20;$i++){
$te2=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im, rand(0,100),rand(0,30),rand(0,100),rand(0,30), $te2);
}
for($i=0;$i<2000;$i++){
imagesetpixel($im,rand(0,100),rand(0,30),$te2);
}
imagestring($im, rand(1,6), rand(0,70), rand(0,15), $rand, $te);
header("Content-type: image/jpeg");
imagejpeg($im);
?>
ajax2.php
var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function funphp(){
S_xmlhttprequest();
xmlHttp.open("GET","for2.php?",true);
xmlHttp.onreadystatechange=byphp;
xmlHttp.send(null);
}
function byphp(){
var byphp10=xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp10;
}
不知道是不是因为页面缓存的问题 展开
<img src='for2.php?'><br><br>
<script type="text/javascript" src="ajax2.js"></script>
<a href="#" onclick="funphp()">换一张</a>
<div id="php"></div>
for2.php
<?php
error_reporting(0);
session_start();
for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION[check_pic]=$rand;
$im = imagecreatetruecolor(100,30);
$bg= imagecolorallocate($im,0,0,0);
$te= imagecolorallocate($im,255,255,255);
for($i=0;$i<20;$i++){
$te2=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im, rand(0,100),rand(0,30),rand(0,100),rand(0,30), $te2);
}
for($i=0;$i<2000;$i++){
imagesetpixel($im,rand(0,100),rand(0,30),$te2);
}
imagestring($im, rand(1,6), rand(0,70), rand(0,15), $rand, $te);
header("Content-type: image/jpeg");
imagejpeg($im);
?>
ajax2.php
var xmlHttp;
function S_xmlhttprequest(){
if(window.ActiveXObject){
xmlHttp = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest){
xmlHttp = new XMLHttpRequest();
}
}
function funphp(){
S_xmlhttprequest();
xmlHttp.open("GET","for2.php?",true);
xmlHttp.onreadystatechange=byphp;
xmlHttp.send(null);
}
function byphp(){
var byphp10=xmlHttp.responseText;
document.getElementById('php').innerHTML = byphp10;
}
不知道是不是因为页面缓存的问题 展开
3个回答
展开全部
<img src="for2.php" id="codeimg"><br><br>
<a href="#" onclick="funphp()">换一张</a>
<script type="text/javascript">
function funphp(){
document.getElementById("codeimg").src = "for2.php?ts=" + (new Date()).getTime();
}
</script>
<a href="#" onclick="funphp()">换一张</a>
<script type="text/javascript">
function funphp(){
document.getElementById("codeimg").src = "for2.php?ts=" + (new Date()).getTime();
}
</script>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提前声明 我没有试你的代码
解决缓存办法。 在获取验证码的url上多添加一个参数 ,参数值可以是随机数,可以是时间
解决缓存办法。 在获取验证码的url上多添加一个参数 ,参数值可以是随机数,可以是时间
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询