Home  >  Article  >  Backend Development  >  php添加验证码

php添加验证码

WBOY
WBOYOriginal
2016-06-20 12:39:091216browse

一个注册的php网站怎么加一段验证码呢?
求大神指教
最简单的四个数字那种就行
在线等啊!!!


回复讨论(解决方案)

//---------验证码生成函数-------//	public function verify_image()	{					//生成验证码图片		header("Content-type: image/png");		// 全数字			$str = "2,3,4,5,6,7,8,9,a,b,c,d,f,g,h,i,j,k,m,n,p,q,r,s,t,u,v,w,x,y,z"; //要显示的字符,可自己进行增删		$list = explode(",", $str);		$cmax = count($list) - 1;		$verifyCode = '';		for ( $i=0; $i < 5; $i++ ){			$randnum = mt_rand(0, $cmax);			$verifyCode .= $list[$randnum]; //取出字符,组合成为我们要的验证码字符		}		//$_SESSION['code'] = $verifyCode;        //将字符放入SESSION中		//$this->session->set_userdata('code', $verifyCode);		$im = imagecreate(58,28);    //生成图片		$black = imagecolorallocate($im, 0,0,0);     //此条及以下三条为设置的颜色		$white = imagecolorallocate($im, 255,255,255);		$gray = imagecolorallocate($im, 200,200,200);		$red = imagecolorallocate($im, 255, 0, 0);			imagefill($im,0,0,$white);     //给图片填充颜色		//将验证码绘入图片		imagestring($im, 5, 10, 8, $verifyCode, $black);    //将验证码写入到图片中		for($i=0;$i<50;$i++){			imagesetpixel($im, rand(0,58) , rand(0,28) , $black);    //加入点状干扰素		    imagesetpixel($im,rand(0,58),rand(0,28),$red);		    imagesetpixel($im, rand(0,58) , rand(0,28) , $gray);		    //imagearc($im, rand(0,58), rand(0,28), 20, 20, 75, 170, $black);    //加入弧线状干扰素		    //imageline($im, rand(0,58), rand(0,28), rand(0,58), rand(0,28), $red);    //加入线条状干扰素		}		imagepng($im);		imagedestroy($im);	}

请问这个是另外单开一个文件还是直接加在原来的上面呢

---------------------------------------------------------------------------

session_start();
include("Config/Config.php");
include("ip.php");
if(!$isREG) die("帐号注册功能已关闭,请等待开放再注册!");
if($_POST){
//提交
include_once("Config/function_common.php");
$illegal=illegalsubmit();
if(!$illegal) die("禁止非法提交");
$POST=Addslashess($_POST);

include_once("Config/mysql_new_class.php");
$con=new mysql_class($SQLhost,$SQLuser,$SQLPWD,$DATABASE);

//账号是否存在
$sql="select username,password from oluc_user where username='$POST[username]'";
$usr=$con->queryrow($sql);

$i = $POST['ip'];
$pass1 = rawurlencode(base64_encode($POST['password']));
$pass2 = rawurlencode(base64_encode($POST['repassword']));
if($pass1!=$pass2){
die("<script>alert('两次输入的密码不相同,请重新输入');history.back();</script>");
}else{
if(!$usr)
{
$sql="insert into oluc_user(UserName,PassWord,CreateTime,CreateIp) values('$POST[username]','$POST[password]',now(),'$i')";
mysql_query($sql);
$username=rawurlencode(base64_encode($POST[username]));
$password=rawurlencode(base64_encode($POST[password]));
//$url ='login.php';
  //header("Location: $url");
//exit;
die("<script>alert('账号注册成功点确定后为你转入登陆页面 ');location.href='login.php';</script>");
}else{ die("<script>alert('靓号已被占用,请重新输入');history.back();</script>");}
}
mysql_close();

?>
nbsp;html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



<?php echo $Title ?>修改密码
" />
" />




  
  

    

      ">
      
      

密码找回


      

         
            

  •           
              
            

  •         

  •           
              
            
  •       
                    

  •           
              
            
  •    
            

  •              

                 修改密码   
                   
          
        
      

      

        
            
          

      




<script> <br />function $(obj) <br />{ <br /> if(typeof obj == 'string') return document.getElementById(obj); <br /> else if(typeof obj == 'object') return obj; <br /> else return false; <br />} <br />function frmCheck() <br />{ <br /> var un=$("username").value; <br /> var re=/^[0-9a-zA-Z]{4,18}$/; //只输入数字和字母的正则 <br /> if(un.search(re)==-1) <br /> { <br /> alert("账号请输入数字和字母,字符介于4-18个"); <br /> $("username").focus(); <br /> return false; <br /> } <br /> var u=$("password").value; <br /> if(u.length<6 || u.length>18) <br /> { <br /> alert("密码必须在6-18位之间"); <br /> $("password").focus(); <br /> return false; <br /> } <br /> if(u.indexOf(" ")>=0) <br /> { <br /> alert("密码不能包含空字符"); <br /> $("password").focus(); <br /> return false; <br /> } <br /> //var pwd=$("password").value; <br /> //var rwd=$("repassword").value; <br /> //if(pwd!=rwd) <br /> //{ <br /> // alert("两次输入的密码不相同"); <br /> // $("password").focus(); <br /> // $("repassword").focus(); <br /> // return false; <br /> //} <br />} <br /></script>
<script> <br />var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://"); <br />document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3F57fd8788c6d101e842a4d9025bf09f11' type='text/javascript'%3E%3C/script%3E")); <br /></script>


----------------------------------------------------------

我的是这样的  求教!!!

验证码: php添加验证码
 function create_code(){

    document.getElementById('code2').src = 'verify_image';
 }

大神能否直接加到我发的那里面  
完全不懂这些东西
麻烦了


感谢感谢万分感谢!!!

你的验证码在哪就放哪啊



完全没搞懂 呵呵  

$code = mt_rand(1000,9999);$_SESSION['code' ] = $code;



echo $_SESSSION['code'];

看下 gd2 自己画个吧。

其实可以自己去极验验证的后台下载一个他们的SDK,直接安装好就可以使用啦,很方便的还可以查看后台数据。关键是安全性很高哦,还不用自己编程,滑动一下就搞定了。http://www.geetest.com/

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:一个算法的小问题Next article:PHP自动测试框架Top 10