加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP编程之PHP验证码

发布时间:2022-04-07 17:37:29 所属栏目:PHP教程 来源:互联网
导读:确认码生成文件checkNum_session.php 以下为引用的内容: ? Header(Content-type:image/png); //定义header,声明图片文件,最好是png,无版权之扰; //生成新的四位整数验证码 session_start();//开启session; authnum_session = ; str = abcdefghijkmnpqrst
  确认码生成文件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>"。
 
 

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读