Ⅰ 求 php 圖片驗證碼類 給出詳細調用方法 謝謝!!!
[code.php]
<?php
/**
*驗證碼圖片
*/
session_start();
Header("Content-type:image/gif");
/*
*初始化
*/
$border=0;//是否要邊框1要:0不要
$how=4;//驗證碼位數
$w=$how*15;//圖片寬度
$h=20;//圖片高度
$fontsize=10;//字體大小
$alpha="abcdefghijkmnpqrstuvwxyz";//驗證碼內容1:字母
$number="23456789";//驗證碼內容2:數字
$randcode="";//驗證碼字元串初始化
srand((double)microtime()*1000000);//初始化隨機數種子
$im=ImageCreate($w,$h);//創建驗證圖片
/*
*繪制基本框架
*/
$bgcolor=ImageColorAllocate($im,255,255,255);//設置背景顏色
ImageFill($im,0,0,$bgcolor);//填充背景色
if($border)
{
$black=ImageColorAllocate($im,0,0,0);//設置邊框顏色
ImageRectangle($im,0,0,$w-1,$h-1,$black);//繪制邊框
}
/*
*逐位產生隨機字元
*/
for($i=0;$i<$how;$i++)
{
$alpha_or_number=mt_rand(0,1);//字母還是數字
$str=$alpha_or_number?$alpha:$number;
$which=mt_rand(0,strlen($str)-1);//取哪個字元
$code=substr($str,$which,1);//取字元
$j=!$i?4:$j+15;//繪字元位置
$color3=ImageColorAllocate($im,mt_rand(0,100),mt_rand(0,100),mt_rand(0,100));//字元隨即顏色
ImageChar($im,$fontsize,$j,3,$code,$color3);//繪字元
$randcode.=$code;//逐位加入驗證碼字元串
}
/*
*如果需要添加干擾就將注釋去掉
*
*以下for()循環為繪背景干擾線代碼
*/
/*+-------------------------------繪背景干擾線開始--------------------------------------------+*/
for($i=0;$i<5;$i++)//繪背景干擾線
{
$color1=ImageColorAllocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));//干擾線顏色
ImageArc($im,mt_rand(-5,$w),mt_rand(-5,$h),mt_rand(20,300),mt_rand(20,200),55,44,$color1);//干擾線
}
/*+-------------------------------繪背景干擾線結束--------------------------------------+*/
/*
*如果需要添加干擾就將注釋去掉
*
*以下for()循環為繪背景干擾點代碼
*/
/*+--------------------------------繪背景干擾點開始------------------------------------------+*/
/*
for($i=0;$i<$how*40;$i++)//繪背景干擾點
{
$color2=ImageColorAllocate($im,mt_rand(0,255),mt_rand(0,255),mt_rand(0,255));//干擾點顏色
ImageSetPixel($im,mt_rand(0,$w),mt_rand(0,$h),$color2);//干擾點
}
*/
/*+--------------------------------繪背景干擾點結束------------------------------------------+*/
//把驗證碼字元串寫入session方便提交登錄信息時檢驗驗證碼是否正確例如:$_POST['randcode']=$_SESSION['randcode']
$_SESSION['randcode']=$randcode;
/*繪圖結束*/
Imagegif($im);
ImageDestroy($im);
/*繪圖結束*/
?>
[調用方法]
<SCRIPTLANGUAGE="JavaScript">
<!--
functionreloadcode(){
vard=newDate();
document.getElementById('safecode').src="/code.php?t="+d.toTimeString()
}
//-->
</SCRIPT>
驗證碼:<inputname="chknumber"type="text"maxlength="4"class="chknumber_input"/><imgsrc='code.php'id="safecode"onclick="reloadcode()"title="看不清楚?點擊切換!"></img>
Ⅱ 用PHP如何做一個手機發送驗證碼存儲,用戶接受後再輸入驗證
發簡訊得找移動,聯通之類的合作,或者簡單的就是淘寶 賣的別人提供的介面。
驗證碼的話就容易了 存session 就設置session_cache_expire() 資料庫就加個 過期時間的欄位 例如 expiretime int unsigned not null 到時候取出來比較就行
Ⅲ 我想在我的PHP網站里加一個驗證碼,滑動那種
你也真敢想。
網頁驗證碼一般是在後台生成一個驗證碼在後台生成好圖片返回給網頁顯示,用戶輸入的信息與後端保存的信息再進行驗證。
如果後端的信息返回到前端是已文字的形式,就起不到安全的作用了。
你的這個功能可以這樣設計,但作用不大。我來說說我的思路吧
首先後端返回一個數字類型的驗證碼,前端獲取數字行的驗證用js+css組織實現特效。你在上圖的黑色部分設定一個擋扳的html元素(這個元素距離左邊的三角形滑動塊的距離就是後端返回的數字),左邊滑塊滑動多少距離達這個隱藏區塊,獲取這個數值,保存下來。
Ⅳ 怎麼用php生成圖像,生成驗證碼
<?php
//驗證碼類
classValidateCode{
private$charset='';//隨機因子
private$code;//驗證碼
private$codelen=4;//驗證碼長度
private$width=90;//寬度
private$height=40;//高度
private$img;//圖形資源句柄
private$font;//指定的字體
private$fontsize=20;//指定字體大小
private$fontcolor;//指定字體顏色
//構造方法初始化
publicfunction__construct(){
$this->font=dirname(__FILE__).'/font/elephant.ttf';//注意字體路徑要寫對,否則顯示不了圖片
}
//生成隨機碼
privatefunctioncreateCode(){
$_len=strlen($this->charset)-1;
for($i=0;$i<$this->codelen;$i++){
$this->code.=$this->charset[mt_rand(0,$_len)];
}
}
//生成背景
privatefunctioncreateBg(){
$this->img=imagecreatetruecolor($this->width,$this->height);
$color=imagecolorallocate($this->img,mt_rand(157,255),mt_rand(157,255),mt_rand(157,255));
imagefilledrectangle($this->img,0,$this->height,$this->width,0,$color);
}
//生成文字
privatefunctioncreateFont(){
$_x=沒跡虧$this->width/$this->codelen;
for($i=0;$i<$this->codelen;$i++){
$this->fontcolor=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imagettftext($this->img,$this->fontsize,mt_rand(-30,30),$_x*$i+mt_rand(1,5),$this->height/1.4,$this->fontcolor,$this->font,$this->code[$i]);
}
}
//生成線條、雪花
privatefunctioncreateLine(){
//線條
for($i=0;$i<6;$i++){
$color=imagecolorallocate($this->img,mt_rand(0,156),mt_rand(0,156),mt_rand(0,156));
imageline($this->img,mt_rand(0,$this->width),mt_rand(0,$this->height),mt_rand(0,$this->width),mt_rand(0,$this->height),$color);
}
//雪花
for($i=0;$i<100;$i++){
$color=imagecolorallocate($this->img,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255));
imagestring($this->img,mt_rand(1,5),mt_rand(0,$this->width),mt_rand(0,$this->height),'*',$color);
}
}
//輸出
privatefunctionoutPut(){
header('Content-type:image/png');
imagepng($this->img);
imagedestroy($this->img);
}
//對外生成
publicfunctiondoimg(){
$this->createBg();
$this->枯神createCode();
$this->州擾createLine();
$this->createFont();
$this->outPut();
}
//獲取驗證碼
publicfunctiongetCode(){
returnstrtolower($this->code);
}
}
Ⅳ 怎麼樣能夠讓php生成4位數字驗證碼
PHP生成驗證碼的原理:使用PHP的GD庫,生成一張帶驗證碼的圖片,並將驗證碼保存在Session中。PHP生成驗證碼的大致流程有: 1、產生一張png的圖片; 2、為圖片設置背景色; 3、設置字體顏色和樣式; 4、產生4位數的隨機的驗證碼; 5、把產生的每...
Ⅵ php登陸頁面驗證碼驗證代碼怎麼寫
php登陸頁面+驗證碼的實現,參考如下: 1、首先新建一個php站點; 2、先新建一個命名為yzm.php文件,雙擊編輯,清空Dreamweaver自動生成的HTML代碼
Ⅶ PHP 驗證碼怎樣設置
補充:
驗證碼可以同cookie或者session的方式傳遞數據,
不用有特別的設置,不過要安裝GD庫,否則不能顯示圖片.
隨便放在哪裡都可以,
顯示是以圖片方式顯示,
例如驗證碼的程序文件是ck.php
那麼顯示就是
<img src = "ck.php">
驗證碼有很多種編寫方式,當然是眾說紛紜,
凡是程序都不會有一個統一的格式,只有統一的思路.