PHP編程之PHP驗證碼_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:解讀利用PHP JavaScript打造AJAX搜索窗的方法
      一、引言 Web世界中一項廣為使用的功能就是搜索。隨著Web技術的日益發展,為了更好地滿足客戶的需求,常規搜索引擎開始對更多的非常規方式敞開了大門。在這方面,Yahoo!率先

      確認碼生成文件checkNum_session.php

      以下為引用的內容:

      <?
      Header("Content-type:image/png");
      //定義header,聲明圖片文件,最好是png,無版權之擾;
      //生成新的四位整數驗證碼
      session_start();//開啟session;
      authnum_session = '';
      str = 'abcdefghijkmnpqrstuvwxyz1234567890';
      //定義用來顯示在圖片上的數字和字母;
      l = strlen(str); //得到字串的長度;
      //循環隨機抽取四位前面定義的字母和數字;
      for(i=1;i<=4;i )
      {
      num=rand(0,l-1);
      //每次隨機抽取一位數字;從第一個字到該字串最大長度,
      //減1是因為截取字符是從0開始起算;這樣34字符任意都有可能排在其中;
      authnum_session.= str[num];
      //將通過數字得來的字符連起來一共是四位;
      }
      session_register("authnum_session");
      //用session來做驗證也不錯;注冊session,名稱為authnum_session,
      //其它頁面只要包含了該圖片
      //即可以通過_SESSION["authnum_session"]來調用

      //生成驗證碼圖片,
      srand((double)microtime()*1000000);
      im = imagecreate(50,20);//圖片寬與高;
      //主要用到黑白灰三種色;
      black = ImageColorAllocate(im, 0,0,0);
      white = ImageColorAllocate(im, 255,255,255);
      gray = ImageColorAllocate(im, 200,200,200);
      //將四位整數驗證碼繪入圖片
      imagefill(im,68,30,gray);
      //如不用干擾線,注釋就行了;
      li = ImageColorAllocate(im, 220,220,220);
      for(i=0;i<3;i )
      {//加入3條干擾線;也可以不要;視情況而定,因為可能影響用戶輸入;
      imageline(im,rand(0,30),rand(0,21),rand(20,40),rand(0,21),li);
      }
      //字符在圖片的位置;
      imagestring(im, 5, 8, 2, authnum_session, white);
      for(i=0;i<90;i )
      {//加入干擾象素
      imagesetpixel(im, rand()p , rand()0 , gray);
      }
      ImagePNG(im);
      ImageDestroy(im);
      ?>

      確認碼調用文件sessionValidate.php

      以下為引用的內容:

      <?php
      session_start();
      //在頁首先要開啟session,
      //error_reporting(2047);
      session_destroy();
      //將session去掉,以每次都能取新的session值;
      //用seesion 效果不錯,也很方便
      ?>
      <html>
      <head>
      <title>session 圖片驗證實例</title>
      </head>
      <body>
      此例為session驗證實例
      <form action="" method="post">
      驗證碼:<input type="text" name="validate" value="" size=10> <img src="checkNum_session.php"><br>
      <input type="submit">
      </form>
      <?php
      //打印上一個session;
      echo "上一個session:<b>"._SESSION["authnum_session"]."</b><br>";
      validate="";
      if(isset(_POST["validate"])){
      validate=_POST["validate"];
      echo "您剛才輸入的是:"._POST["validate"]."<br>狀態:";
      if(validate!=_SESSION["authnum_session"]){
      //判斷session值與用戶輸入的驗證碼是否一致;
      echo "<font color=red>輸入有誤</font>";
      }else{
      echo "<font color=green>通過驗證</font>";
      }
      }
      /*
      //打印全部session;
      PrintArr(_SESSION);
      function PrintArr(aArray){
      echo '<xmp>';
      print_r(aArray);
      echo '</xmp>';
      }
      */
      ?>

      分享:解析PHP CSS實現打印簡單數據報表功能
      PHP CSS實現打印簡單數據報表功能 功能:實現打印日報表的功能,定義了專門的打印樣式,隱藏了不該打印的控件并實現了分頁打印功能,表名:rec 字段:rec_id,rec_po,rec_part,rec_plant

      來源:模板無憂//所屬分類:PHP教程/更新時間:2009-09-15
      相關PHP教程