欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP編寫登錄驗證碼功能 附調(diào)用方法

 更新時間:2016年05月19日 15:20:50   投稿:lijiao  
這篇文章主要介紹了PHP編寫登錄驗證碼功能,文末附調(diào)用方法,并包含隨機字符函數(shù),和GD庫畫圖函數(shù),感興趣的小伙伴們可以參考一下

本文實例為大家分享了一個PHP寫的登錄驗證碼功能,供大家參考,具體內(nèi)容如下

 ShowKey.php

<?php
session_start();
//設(shè)置COOKIE或Session
function esetcookie($name,$str,$life=0){
//本函數(shù)將字符串 str 全部變小寫字符串使驗證碼輸入不區(qū)分大小寫----在提交表單進行session比較同樣需要次函數(shù)轉(zhuǎn)化
 $_SESSION[$name]=strtolower($str);
}

//獲取隨機字符 此函數(shù)區(qū)分字符大小寫 如果不區(qū)分大小寫可加入函數(shù)strtolower
function domake_password($len) 
{ 
  $chars = array( 
    /*"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", 
    "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", 
    "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G", 
    "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", 
    "S", "T", "U", "V", "W", "X", "Y", "Z",*/ "0", "1", "2", 
    "3", "4", "5", "6", "7", "8", "9" 
  ); 
  $charsLen = count($chars) - 1; 
  shuffle($chars);// 將數(shù)組打亂
  $output = ""; 
  for ($i=0; $i<$len; $i++) 
  { 
    $output .= $chars[mt_rand(0, $charsLen)]; //獲得一個數(shù)組元素
  } 
  return $output;
} 

//顯示驗證碼
function ShowKey(){
 $key=domake_password(4);//獲取隨機值
 $set=esetcookie("checkkey",$key);//將隨機值寫入cookie或session
 //是否支持gd庫
 if(function_exists("imagejpeg")) 
 {
  header ("Content-type: image/jpeg");
  $img=imagecreate(47,20);
  $blue=imagecolorallocate($img,102,102,102);
  $white=ImageColorAllocate($img,255,255,255);
  $black=ImageColorAllocate($img,71,71,71);
  imagefill($img,0,0,$blue);
  imagestring($img,5,6,3,$key,$white);
  for($i=0;$i<90;$i++) //加入干擾象素
  {
   imagesetpixel($img,rand()%70,rand()%30,$black);
  }
  imagejpeg($img);
  imagedestroy($img);
 }
 elseif (function_exists("imagepng"))
 {
  header ("Content-type: image/png");
  $img=imagecreate(47,20);
  $blue=imagecolorallocate($img,102,102,102);
  $white=ImageColorAllocate($img,255,255,255);
  $black=ImageColorAllocate($img,71,71,71);
  imagefill($img,0,0,$blue);
  imagestring($img,5,6,3,$key,$white);
  for($i=0;$i<90;$i++) //加入干擾象素
  {
   imagesetpixel($img,rand()%70,rand()%30,$black);
  }
  imagepng($img);
  imagedestroy($img);
 }
 elseif (function_exists("imagegif")) 
 {
  header("Content-type: image/gif");
  $img=imagecreate(47,20);
  $blue=imagecolorallocate($img,102,102,102);
  $white=ImageColorAllocate($img,255,255,255);
  $black=ImageColorAllocate($img,71,71,71);
  imagefill($img,0,0,$blue);
  imagestring($img,5,6,3,$key,$white);
  for($i=0;$i<90;$i++) //加入干擾象素
  {
   imagesetpixel($img,rand()%70,rand()%30,$black);
  }
  imagegif($img);
  imagedestroy($img);
 }
 elseif (function_exists("imagewbmp")) 
 {
  header ("Content-type: image/vnd.wap.wbmp");
  $img=imagecreate(47,20);
  $blue=imagecolorallocate($img,102,102,102);
  $white=ImageColorAllocate($img,255,255,255);
  $black=ImageColorAllocate($img,71,71,71);
  imagefill($img,0,0,$blue);
  imagestring($img,5,6,3,$key,$white);
  for($i=0;$i<90;$i++) //加入干擾象素
  {
   imagesetpixel($img,rand()%70,rand()%30,$black);
  }
  imagewbmp($img);
  imagedestroy($img);
 }
 else
 {
  //不支持驗證碼
  header("content-type:image/jpeg\r\n");
  header("Pragma:no-cache\r\n");
  header("Cache-Control:no-cache\r\n");
  header("Expires:0\r\n");
  $fp = fopen("data/vdcode.jpg","r"); 
 }
}
ShowKey();
?>

調(diào)用方法:

復(fù)制代碼 代碼如下:
<img src="ShowKey.php" name="KeyImg" id="KeyImg"  onClick="KeyImg.src='ShowKey.php?'+Math.random()"> 

以上就是本文的全部內(nèi)容,希望對大家學(xué)習(xí)php程序設(shè)計有所幫助。

相關(guān)文章

  • PHP通過文件保存和更新信息的方法分析

    PHP通過文件保存和更新信息的方法分析

    這篇文章主要介紹了PHP通過文件保存和更新信息的方法,結(jié)合實例形式分析了php基于文件的信息保存相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09
  • php簡單實現(xiàn)無限分類樹形列表的方法

    php簡單實現(xiàn)無限分類樹形列表的方法

    這篇文章主要介紹了php簡單實現(xiàn)無限分類樹形列表的方法,實例分析了php通過數(shù)組實現(xiàn)樹形列表的技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-03-03
  • php正則替換處理HTML頁面的方法

    php正則替換處理HTML頁面的方法

    這篇文章主要介紹了php正則替換處理HTML頁面的方法,涉及php針對html頁面常見元素的匹配技巧,需要的朋友可以參考下
    2015-06-06
  • PHP使用ODBC連接數(shù)據(jù)庫的方法

    PHP使用ODBC連接數(shù)據(jù)庫的方法

    這篇文章主要介紹了PHP使用ODBC連接數(shù)據(jù)庫的方法,涉及php使用ODBC操作數(shù)據(jù)庫的基本技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • php ci框架驗證碼實例分析

    php ci框架驗證碼實例分析

    本篇文章是對ci框架驗證碼的實例進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • php和asp語法上的區(qū)別總結(jié)

    php和asp語法上的區(qū)別總結(jié)

    在本篇文章中小編給大家分享了關(guān)于php和asp語法上的區(qū)別以及相關(guān)代碼知識點,需要的朋友們學(xué)習(xí)下。
    2019-05-05
  • php操作mysql獲取select 結(jié)果的幾種方法

    php操作mysql獲取select 結(jié)果的幾種方法

    這篇文章主要介紹了php操作mysql獲取select 結(jié)果的幾種方法,需要的朋友可以參考下
    2017-11-11
  • PHP腳本中include文件出錯解決方法

    PHP腳本中include文件出錯解決方法

    經(jīng)常當(dāng)php頁面中利用include, require, require_once包含了一些其他位置的頁面時,會出現(xiàn)錯誤,比如沒有發(fā)現(xiàn)次頁面,或者權(quán)限不允許等,可以根據(jù)以下方法來排除
    2008-11-11
  • php計算年齡精準(zhǔn)到年月日

    php計算年齡精準(zhǔn)到年月日

    這篇文章主要介紹了php計算年齡精準(zhǔn)到年月日的方法,涉及php操作日期與字符串的相關(guān)技巧,非常簡單實用,需要的朋友可以參考下
    2015-11-11
  • PHP使用PDO實現(xiàn)mysql防注入功能詳解

    PHP使用PDO實現(xiàn)mysql防注入功能詳解

    這篇文章主要介紹了PHP使用PDO實現(xiàn)mysql防注入功能,結(jié)合實例形式詳細分析了PHP使用pdo操作mysql防注入原理、實現(xiàn)方法及相關(guān)注意事項,需要的朋友可以參考下
    2019-12-12

最新評論