王凯1994
2015-03-04 13:49
<?php
session_start();
$table=array(
'pic0'=>'兔',
'pic1'=>'狗',
'pic2'=>'猫',
'pic3'=>'熊猫',
);
$index=rand(0,3);
$value=$table['pic'.$index];
$_SESSION['authcode']=$value;
$filename=dirname(__FILE__).'\\pic'.$index.'.jpg';
$contents=file_get_contents($filename);
header('content-type:image/jpg');
echo $contents;
?><?php
header("Content-type: text/html; charset=utf-8");
if(isset($_REQUEST['authcode'])){
session_start();
if($_REQUEST['authcode']==$_SESSION['authcode']){
echo '<font>验证码输入正确</font>';
}else{
echo '<font>验证码输入错误</font>';
}
exit();
}
?>
<!DOCTYPE html>
<html>
<head>
<title> New Document </title>
<meta charset="utf-8"/>
</head>
<body>
<form method="post" action="./form.php">
<p>验证码图片:<img id="authcode" border="1" src="./index_image.php?r=<?php echo rand();?> width=300 height=300">
<a href="javascript:void(0)" onclick="document.getElementById('authcode').src='./index_image.php?r='+Math.random()">换一个</a>
</p>
<p>请输入图片中的内容:<input type="type" name="authcode" value=""/></p>
<p><input type="submit" value="提交" style="padding:6px 20px;"></p>
</form>
</body>
</html>
解决了。。。这样,你在captcha文件里,把meta那一行改成<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
然后,打开form文件,你是用的notepad++编辑器的话可以点击格式—>编码字符集——>中文——>GB2313,会有个对话框,点击确定。
这时候你会发现你之前输入的狗啦什么的汉字全变成乱码了,只能重新再打一遍了。
改完之后,保存,完美解决
还是编码格式问题,在浏览器中把编码格式改成UTF-8可以显示输入正确,但显示的是乱码,具体怎么解决不清楚。。。
我也遇到这种情况了,就是输入什么都错误
img标签src的引号范围有问题
你的验证码能显示出来?
PHP实现验证码制作
37931 学习 · 338 问题
相似问题