您好,登錄后才能下訂單哦!
這篇文章主要介紹“php驗(yàn)證碼顯示x怎么解決”,在日常操作中,相信很多人在php驗(yàn)證碼顯示x怎么解決問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”php驗(yàn)證碼顯示x怎么解決”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
php驗(yàn)證碼顯示x表示驗(yàn)證碼沒有正常顯示出來,其解決辦法:1、找到在“checkCode.php”文件;2、 在“checkCode.php”頭部增加“ini_set('display_errors','Off');”語句即可。
php驗(yàn)證碼顯示x是什么意思?
PHP用戶登錄界面驗(yàn)證碼顯示為“X”(驗(yàn)證碼圖片無法顯示)解決辦法
1.驗(yàn)證碼顯示為“X”。
2.代碼瀏覽:
1> Login.php代碼,經(jīng)檢查,沒有問題!
<?php require_once "common.php"; ?> <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"/> </head> <img src="./images/1.gif" height="100px" width="200px"/> <hr/> <h2>管理員登錄界面</h2> <body> <table style="font-size:14px;"> <form action="loginProcess.php" method="post"> <tr><td>用戶ID:</td><td><input type="text" name="id" value="<?php echo getCookieVal("id");?>"></td></tr> <tr><td>密 碼:</td><td><input type="password" name="password"></td></tr> <tr><td>驗(yàn)證碼:</td><td><input type="text" name="checkCode"/></td> <td><img src="checkCode.php" οnclick="this.src='checkCode.php?aa='+Math.random()"></td> </tr> <tr><td colspan="2" align='center'><input type="checkbox" name="keep" value="yes"> 保存用戶ID</td></tr> <tr><td><input type="reset" value="重新填寫"></td> <td><input type="submit" value="用戶登錄"></td> </tr> </form> </table> <?php if(!empty($_GET['errno'])){ $errno=$_GET['errno']; if($errno==1){ echo "<font color='red' size='3'>用戶ID不能為空!</font>"; }else if($errno==2){ echo "<font color='red' size='3'>用戶密碼不能為空!</font>"; }else if($errno==3){ echo "<font color='red' size='3'>用戶名或密碼錯(cuò)誤!</font>"; }else if($errno==4){ echo "<font color='red' size='3'>無法使用此非法的路徑進(jìn)入該系統(tǒng)!</font>"; }else if($errno==5){ echo "<font color='red' size='3'>驗(yàn)證碼輸入有誤!</font>"; } } ?> <body> <hr/> <img src="./images/mylogo.jpg" height="180px" width="260px"/> </html>
2>那么一定是生成驗(yàn)證碼的源代碼checkCode.php出了問題!
<?php $w = 80; //設(shè)置圖片寬和高 $h = 26; $str = Array(); //用來存儲(chǔ)隨機(jī)碼 $string = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";//隨機(jī)挑選其中4個(gè)字符,也可以選擇更多,注意循環(huán)的時(shí)候加上,寬度適當(dāng)調(diào)整 for($i = 0;$i < 4;$i++){ $str[$i] = $string[rand(0,35)]; $vcode .= $str[$i]; } session_start(); //啟用超全局變量session $_SESSION["myCheckCode"] = $vcode; $im = imagecreatetruecolor($w,$h); $white = imagecolorallocate($im,255,255,255); //第一次調(diào)用設(shè)置背景色 $black = imagecolorallocate($im,0,0,0); //邊框顏色 imagefilledrectangle($im,0,0,$w,$h,$white); //畫一矩形填充 imagerectangle($im,0,0,$w-1,$h-1,$black); //畫一矩形框 //生成雪花背景 for($i = 1;$i < 200;$i++){ $x = mt_rand(1,$w-9); $y = mt_rand(1,$h-9); $color = imagecolorallocate($im,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255)); imagechar($im,1,$x,$y,"*",$color); } //將驗(yàn)證碼寫入圖案 for($i = 0;$i < count($str);$i++){ $x = 13 + $i * ($w - 15)/4; $y = mt_rand(3,$h / 3); $color = imagecolorallocate($im,mt_rand(0,225),mt_rand(0,150),mt_rand(0,225)); imagechar($im,5,$x,$y,$str[$i],$color); } header("Content-type:image/jpeg"); //以jpeg格式輸出,注意上面不能輸出任何字符,否則出錯(cuò) imagejpeg($im); imagedestroy($im); ?>
3.解決方式如下:
在checkCode.php頭部增加這一句
ini_set('display_errors','Off');
也就是:
刷新頁面以后結(jié)果如下:
那么問題就解決了!
1、執(zhí)行速度快。
2、具有很好的開放性和可擴(kuò)展性。
3、PHP支持多種主流與非主流的數(shù)據(jù)庫。
4、面向?qū)ο缶幊蹋篜HP提供了類和對(duì)象。
5、版本更新速度快。
6、具有豐富的功能。
7、可伸縮性。
8、功能全面,包括圖形處理、編碼與解碼、壓縮文件處理、xml解析等。
到此,關(guān)于“php驗(yàn)證碼顯示x怎么解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。