php添加验证码

WBOY
Lepaskan: 2016-06-20 12:39:09
asal
1216 orang telah melayarinya

一个注册的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);	}
Salin selepas log masuk

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

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

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();
}
?>




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



















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

我的是这样的 求教!!!

验证码: 看不清楚,换一张
function create_code(){

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

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


感谢感谢万分感谢!!!

你的验证码在哪就放哪啊



完全没搞懂 呵呵

$code = mt_rand(1000,9999);$_SESSION['code' ] = $code;
Salin selepas log masuk



echo $_SESSSION['code'];

看下 gd2 自己画个吧。

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

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!