<?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>
2015-04-13
解決了。。。這樣,你在captcha文件里,把meta那一行改成<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″>
然后,打開form文件,你是用的notepad++編輯器的話可以點擊格式—>編碼字符集——>中文——>GB2313,會有個對話框,點擊確定。
這時候你會發(fā)現(xiàn)你之前輸入的狗啦什么的漢字全變成亂碼了,只能重新再打一遍了。
改完之后,保存,完美解決
2015-04-13
還是編碼格式問題,在瀏覽器中把編碼格式改成UTF-8可以顯示輸入正確,但顯示的是亂碼,具體怎么解決不清楚。。。
2015-04-13
我也遇到這種情況了,就是輸入什么都錯誤
2015-04-13
img標簽src的引號范圍有問題
2015-03-04
你的驗證碼能顯示出來?