captcha 驗證碼
session 技術。
php 處理的技術。
仿照:1, 有已存在的背景圖幾張
2, 隨機得到某張!
3, 白色邊框
4, 隨機文字(大寫+數字,黑白隨機)
步驟1:確定隨機背景、基於該背景,建立畫布!、繪製邊框
步驟2:寫驗證碼寫到 畫布上利用函式imagestring()
imagestring(畫布,字型大小,位置 x,y,字串,顏色);
其中 imagestring 典型的是使用內建字型! (不支援中文) 。字型大小 1-5.5 最大!
步驟3:將驗證碼展示到頁面上
tip:開啟 gd 庫!
tip:挑錯:
如果向瀏覽器傳送的是,則如果有錯誤瀏覽器顯示:
直接請求生成的 url:108.php。
此時,將 header(『content-type:image/jpeg』)先注釋!
tip:
典型的錯誤,乙個生成的 php 指令碼內的任何輸出,都會當作內容去看!
<?php
class captchatool
//儲存到session中
@session_start();
$_session['captcha_code'] = $catpchastr;
$black = imagecolorallocate($codeimg, 0, 0, 0);
if(mt_rand(0,1) == 1)else
imagestring($codeimg, 5.5, 50, 8, $catpchastr, $strcolor);
//header('content-type: image/jpeg; charset=utf-8');
//header("content-type:text/html;charset=utf-8");
// 儲存與關閉資源
imagejpeg($codeimg);
imagedestroy($codeimg);
} /**
* 驗證驗證碼
*/public function checkcap($code)
}?>
//2.後台驗證
$captchatool = new captchatool; // 驗證碼
if(!$captchatool->checkcap($_post['captcha']))else
//3.前台顯示
驗證碼:
style="cursor: pointer;" οnclick="refreshcode()" id="captcha"//>
//4.生成驗證碼
public function captcha()
php驗證碼顯示不了,php驗證碼不顯示解決方法
解決方法 2 utf 8 bom頭原因。用editplus ultraedit,刪除即可。3 輸出緩衝區中的快取問題。輸出前,使用ob clean函式解決。4 輸出前,不能出現echo print r var dump等列印,注釋或刪除解決。解決問題之後的 w 80 設定寬和高 h 26 str a...
驗證碼顯示中文
現在qq上申請免費號碼的驗證碼是中文的,其實這個也不難,就是隨機生成乙個16進製制的陣列,然後根據編碼查詢漢字,程式如下,此為控制台程式。1using system 2using system.text 34 namespace5 14 17此函式在漢字編碼範圍內隨機建立含兩個元素的十六進製制位元組...
驗證碼無法顯示
這段時間在寫乙個驗證碼,在我的機器上好好的,但是到了公司的電腦上就顯示 影象因其本身有錯無法顯示,這是什麼原因呢?試了好長時間還是沒辦法解決,於是就去google。網上通用的解決方法是 1 盡可能去掉中文空格 2 將 但是還是解決不了我的問題。如果你試了上面的方法還是解決不了你可以用下面的方法 在 ...