欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > windows >内容正文

windows

(二)简单的登陆注册系统--增加验证码部分

发布时间:2025/4/16 windows 49 豆豆
生活随笔 收集整理的这篇文章主要介绍了 (二)简单的登陆注册系统--增加验证码部分 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

2019独角兽企业重金招聘Python工程师标准>>>

login.html

<html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <h1>登陆系统</h1> <form action="login1.php" method="post"> 用户名:<input type="text"  name="username"/> <br/> 密&nbsp;&nbsp;码:<input type="password"  name="password"/> <br/> <input type="submit" value="登陆" /> <input type="button" value="注册" onclick="window.location.href='register.php'"/> </form> </html>

login1.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <?php //session_start(); $conn=mysql_connect("localhost","root","root"); if(!$conn) {echo "connect fail".mysql_error(); } $db=mysql_select_db("login",$conn); if(!$db)echo "select database fail!"; mysql_query("set names gb2312"); $name=$_POST['username']; $pwd=$_POST['password']; if($name&&$pwd){$sql="select * from login_info where username='$name' and password=md5('$pwd')";$result=mysql_query($sql);$rows=mysql_fetch_array($result);if($rows){echo "<script>";echo "alert('登陆成功,页面将跳转到百度');";echo "location.href='http://www.baidu.com';";echo "</script>";}else{echo "<script>";echo "alert('用户名或密码有错误!');";echo "location.href='login.html';";echo "</script>";} } else if($name==''||$pwd==''){   echo "<script>";echo "alert('用户名或密码不能为空!');";echo "location.href='login.html';";echo "</script>"; } mysql_close($conn);

register.php

<html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <head></head> <h2>这里是注册页面</h2> <script type="text/javascript"> function create_code(){document.getElementById('code').src='verification.php?n='+Math.random()*10000; } </script> </head> <form action="check_form.php" method="post"> <table> <tr><td><B>新用户注册</B></td></tr> <tr><td>用户名:</td><td><input type="text"  name="username" required="required"/></td></tr> <tr><td>密码:</td><td><input type="password"  name="password1" required="required"/></td></tr> <tr><td>确认密码:</td><td><input type="password"  name="password2" required="required"/></td></tr> <tr><td>性别:</td><td><input type="text"  name="sex" placeholder="选填项"/></td></tr> <tr><td>验证码:</td><td><input  type="text" maxlength="4" name="yzm_code1" id="srand" required="required"/></td></tr> <tr><td></td><td><img id="code" name="code" src="verification.php" onclick="create_code()" title="点击图片刷新验证码" ></td></tr> <tr><td><input type="submit" value="注册"></td> <td><input type="reset" value="重置"/></td></tr> </table> </form> </html>

check_form.php

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   <?php header("Content-Type:text/html;charset=utf-8"); session_start(); if($_SESSION["yzm_code2"]!=$_POST["yzm_code1"]){echo "<script>";echo "alert('验证码输入错误,请重新输入');";echo "location.href='register.php';";echo "</script>"; }else {$conn=mysql_connect("localhost","root","root");if(!$conn) {echo "connect fail".mysql_error();}$db=mysql_select_db("login",$conn);if(!$db)echo "select database fail!";$name_check=$_POST['username'];$password_check1=$_POST['password1'];$password_check2=$_POST['password2'];$sex_check=$_POST['sex'];if ($password_check1!=$password_check2){echo "<script>";echo "alert('两次输入的密码不一致');";echo "location.href='register.php';";echo "</script>";}else {$sql="select * from login_info where username='$name_check'";$result=mysql_query($sql,$conn);if(mysql_num_rows($result)>0){echo "<script>";echo "alert('用户名已经存在,请重新输入!');";echo "location.href='register.php';";echo "</script>";}else {  echo "<script>";echo "alert('注册成功!');";echo "location.href='login.html';";echo "</script>";$sqlinsert="insert into login_info (username,password,sex) value ('$name_check',md5('$password_check1'),'$sex_check')";mysql_query($sqlinsert);}} } mysql_close($conn);

verification.php

<?php  session_start(); //在把用户信息存储到 PHP session 中之前,首先必须启动会话。session_start()就是启动session 的意思 get_code(4,60,20);//调用函数生成四个随机数 function get_code($num,$w,$h){ //这里把$w改成$weight,$h改成$height就出错了,不知道为什么,可能是因为后两个变量不能随便用吧$code="";for($i=0;$i<$num;$i++){ //循环拼接验证码字符串,其中$num是验证码的个数$code.=rand(0,9);}$_SESSION["yzm_code2"]=$code;  //将生成的验证码写入session,备验证时用header("Content-type:image/PNG");  //定义图片头部$im=imagecreate($w, $h);//创建图片,定义颜色值$black=imagecolorallocate($im, 0, 153, 51);  //边框色$gray=imagecolorallocate($im, 200, 200, 200); //填充背景色$bgcolor=imagecolorallocate($im,255, 255, 255);imagefill($im, 0, 0, $gray);  //填充背景imagerectangle($im, 0, 0, $w-1, $h-1, $black); //画边框$style=array($black,$black,$black,$black,$black,$gray,$gray,$gray,$gray,$gray);//随机绘制两条虚线,起干扰作用imagesetstyle($im,$style);  $y1=rand(0,$h);$y2=rand(0,$h);$y3=rand(0,$h);$y4=rand(0,$h);imageline($im, 0, $y1, $w, $y3, IMG_COLOR_STYLED);imageline($im, 0, $y2, $w, $y4, IMG_COLOR_STYLED);for ($i = 0; $i<80; $i++) { //在画布上随机生成大量黑点,起干扰作用;imagesetpixel($im, rand(0, $w), rand(0, $h), $black); //将数字随机显示在画布上,字符的水平间距和位置都按一定波动范围随机生成}$strx = rand(3, 8);for ($i = 0; $i<$num; $i++) {$strpos = rand(1, 6);imagestring($im, 5, $strx, $strpos, substr($code, $i, 1), $black);$strx += rand(8, 12);}imagepng($im); //输出图片imagedestroy($im); //释放图片所占内存 }

 参考例子:http://www.tuicool.com/articles/6ruYbq

                 http://jingyan.baidu.com/article/495ba841099a5338b30edeec.html

转载于:https://my.oschina.net/zhangxuman/blog/505985

总结

以上是生活随笔为你收集整理的(二)简单的登陆注册系统--增加验证码部分的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。