Rumah > Artikel > pembangunan bahagian belakang > php添加验证码
一个注册的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">
验证码:
function create_code(){
document.getElementById('code2').src = 'verify_image';
}
大神能否直接加到我发的那里面
完全不懂这些东西
麻烦了
感谢感谢万分感谢!!!
你的验证码在哪就放哪啊
完全没搞懂 呵呵
$code = mt_rand(1000,9999);$_SESSION['code' ] = $code;
看下 gd2 自己画个吧。
其实可以自己去极验验证的后台下载一个他们的SDK,直接安装好就可以使用啦,很方便的还可以查看后台数据。关键是安全性很高哦,还不用自己编程,滑动一下就搞定了。http://www.geetest.com/