ホームページ >バックエンド開発 >PHPチュートリアル >php GDライブラリによる検証コード生成例

php GDライブラリによる検証コード生成例

WBOY
WBOYオリジナル
2016-07-25 09:04:13846ブラウズ
  1. 验证码
  2. 请输入验证码

  3. <フォームアクション="check_auth.php" method="post">
  4. < ;input type="submit" value="提交">
复制代

2、验证码auth.phpの生成

  1. session_start();

  2. header("Content-type:image/png");

  3. $img_width=100;

  4. $img_height=20;

  5. srand(microtime()*100000);

  6. for($i=0;$i {
  7. $new_number.=dechex(rand(0,15));
  8. }

  9. $_SESSION[check_auth]=$new_number;

  10. $new_number=imageCreate($img_width,$img_height);//创建画像
  11. ImageColorAllocate($new_number,255,255,255); //設置の背景色は白色

  12. for($i=0;$i {

  13. $font=mt_rand(3,5);
  14. $x=mt_rand(1,8) + $img_width*$ i/4;
  15. $y=mt_rand(1,$img_height/4);
  16. $color=imageColorAllocate($new_number,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200));//设置文字颜色
  17. imageString ($new_number,$font,$x,$y,$_SESSION[check_auth][$i],$color);//输出字符
  18. }

  19. ImagePng($new_number);

  20. ImageDestroy($new_number);
  21. ?>

复制代码

3、提交页面 check_auth.php

  1. session_start();
  2. $auth=$_POST['auth'];

  3. if(empty($auth))

  4. {
  5. echo '错误:验证番号 空';
  6. die;
  7. }

  8. if($auth==$_SESSION['check_auth'])

  9. {
  10. echo '正确';
  11. }
  12. else
  13. {
  14. echo '错误:验证码输入错误';
  15. }
  16. ?>

复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。