Rumah  >  Artikel  >  pembangunan bahagian belakang  >  php添加验证码

php添加验证码

WBOY
WBOYasal
2016-06-20 12:39:091212semak imbas

一个注册的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/

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:一个算法的小问题Artikel seterusnya:PHP自动测试框架Top 10