我的php代码中登陆界面加一个验证码,如何实现
<div id="login">
<form action="login.php" method="post">
账户 <input type="text" name="username" size="20" /><br />
密码 <input type="password" name="password" size="20"/><br />
<input name="yanzhengma" type="yzm" value="验证码"/>
<input type="image" src="image/login_btn.jpg"/>
<input name="input3" type="reset" value="重新输入"/>
<a href="test.php" title="注册" id="zhuce">一键注册</a>
</form>
</div>
登陆的页面
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题</title>
</head>
<body>
</body>
<?php
session_start();
$nickname=$_POST['username'];
$password=$_POST['password'];
if(empty($nickname) || empty($password)){
exit;
}
$link=mysql_connect('localhost','root','');
mysql_select_db('shop',$link);
mysql_query('set names utf8',$link);
$sql="SELECT id,`password` FROM `user`
WHERE nickname='{$nickname}'";
$result=mysql_query($sql,$link);
if(mysql_num_rows($result)==1){
$row=mysql_fetch_array($result,MYSQL_ASSOC);
if($password==$row['password']){
echo "<script type='text/javascript'>
if(confirm('用户登陆成功,是否跳转到商城首页?')) {
window.location.href='index1.php';}</script>";
$_SESSION['id']=$row['id'];
$_SESSION['nickname']=$nickname;
}
else{
echo '密码错误!';
}
}
else{
echo '用户名错误!';
}
mysql_close($link);
?>
</html> 展开
推荐于2017-09-23
php登陆页面+验证码的实现,参考如下:
1、首先新建一个php站点;
2、先新建一个命名为yzm.php文件,双击编辑,清空Dreamweaver自动生成的HTML代码,如下;
<?php
session_start();
header("Content-Type:image/png"); //设置页面的头信息输出为png图片$im=imagecreate(60,20); //创建一个画布
$im_color=imagecolorallocate($im,100,100,100); //填充验证码背景为灰色
for($i=0;$i<4;$i++)
{
$line_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(0,60),rand(0,20),rand(0,60),rand(0,20),$line_color);
}
//实用循环画四条随机颜色的干扰线
$n=rand(1000,9999);
$_SESSION["y"]=$n;
$p=0;
for($i=0;$i<4;$i++)
{
$p=$p+10;
$num=substr($n,$i,1); //把验证码数字一个一个的取出来
$num_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagettftext($im,rand(10,15),rand(-10,10),$p,rand(10,15),$num_color,"font1.ttf",$num);
}
//设置每个验证码数字不同的颜色,数字角度偏差和字体。
imagepng($im); //输出验证码
imagedestroy($im); //释放内存
?>
3、新建login.php文件;
用户名文本框昵称为name;
密码文本框为psw;
验证码为yzm;
表单的提交方式为post,提交到check.php。
php登陆页面+验证码的实现,参考如下:
1、首先新建一个php站点;
2、先新建一个命名为yzm.php文件,双击编辑,清空Dreamweaver自动生成的HTML代码,如下;
<?php
session_start();
header("Content-Type:image/png");
//设置页面的头信息输出为png图片$im=imagecreate(60,20);
//创建一个画布
$im_color=imagecolorallocate($im,100,100,100);
//填充验证码背景为灰色
for($i=0;$i<4;$i++)
{
$line_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(0,60),rand(0,20),rand(0,60),rand(0,20),$line_color);
}
//实用循环画四条随机颜色的干扰线
$n=rand(1000,9999);
$_SESSION["y"]=$n;
$p=0;
for($i=0;$i<4;$i++)
{
$p=$p+10;
$num=substr($n,$i,1);
//把验证码数字一个一个的取出来
$num_color=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imagettftext($im,rand(10,15),rand(-10,10),$p,rand(10,15),$num_color,"font1.ttf",$num);
}
//设置每个验证码数字不同的颜色,数字角度偏差和字体。
imagepng($im);
//输出验证码
imagedestroy($im);
//释放内存
?>
3、新建login.php文件;
用户名文本框昵称为name;
密码文本框为psw;
验证码为yzm;
表单的提交方式为post,提交到check.php。
没明白什么意思。。。。你是想把你生成的随机参数赋值给一个隐藏的input里面然后和用户写入的input的验证码值比较他输入的是否正确吗?
2015-04-21 · 知道合伙人软件行家