1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP+Mysql 实现用户登录 注册界面

PHP+Mysql 实现用户登录 注册界面

时间:2021-02-27 14:58:55

相关推荐

PHP+Mysql  实现用户登录 注册界面

目标: 实现用户的登录 、注册 、修改密码、重置密码、添加书签,显示书签,删除书签 等功能

进一步目标: 实现对 用户输入信息的控制,具体表现在 对注册信息、登录信息的 的过滤,具有简单的防sql注入的功能

首先明确结构:把自定义的函数集中放在两个脚本 bm_functions.php 和 output_functions.php 中

完成后的各个界面:

登录界面:

注册界面:

用户首页:

还有更改密码界面 、 添加书签界面、重置密码界面、以及退出登录界面,不再上图

需要的源代码:

需要源代码的同学可以 去网盘里下载:

链接:链接: /s/1QLJNy7OuVzpSLZXRLNbZAw 提取码: xvk3

首先肯定是要建立数据库了,建立数据库的shell脚本压缩包里面也有,打开cmd用mysql执行

注意:里面的sql文件为 创建 数据库的shell脚本 需要打开cmd 用 mysql 去执行脚本程序,生成 相应的数据库(具体操作自行百度)

部分源码:(其中诸多的函数都包含在两个自定义的函数库里面了)

login.php

<?phprequire_once('bm_functions.php');do_html_header('');?><body><ul><li><h3>这是我完成的第一个实战项目!</h3></li><li><h3>看起来很简单,实际上手却不简单(包括14个php文件和1个sql文件,近1000行的代码)</h3></li><li><h3>功能包括:用户登录、注册、修改密码、重置密码、添加书签、显示书签、删除书签和一些简单的 用户名、密码、邮件地址、书签URL地址的过滤!</h3></li><li><h3>因为HTML学的浅,CSS还没开始学,所以页面没有美化!</h3></li></ul><br><br><form method="post" action="member.php" ><table bgcolor="#cccccc" align="center" height="200" width="600" ><tr><td colspan="2" align="right"><h2>登录</h2></td><tr><td><b>账 户:</b></td><td><input type="text" name="username" size="30" maxlength="16"/></td><td>(由汉字、数字、字母、下划线构成,6~16个字符)</td></tr><tr><td><b>密 码:</b></td><td><input type="password" name="passwd" size="30" maxlength="16"/></td><td>(由数字、字母、下划线构成,6 ~ 16个字符)</td></tr><tr><td colspan="2" align="center"><input type="submit" value="submit"/></td></tr><tr><td colspan="2"><a href="forgot_form.php">忘记密码 ?</a></td><td colspan="2"><a href="register_form.php">还没有账户 ?</a></td></tr></table></form></body>

登录界面后台处理程序+用户首页 member.php

<?php//导入函数库require_once('bm_functions.php');session_start();$username = $_POST['username'];$passwd = $_POST['passwd'];if ($username && $passwd) {try {if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{6,16}+$/u",$username)){throw new Exception('用户名包含非法字符或长度错误,请重新输入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd)){throw new Exception('密码包含非法字符或长度错误,请重新输入!');}//验证用户信息login($username, $passwd);//将用户信息存入会话$_SESSION['valid_user'] = $username;}catch(Exception $e) {do_html_header('Problem:');echo $e->getMessage();do_html_url('login.php', '重新登陆');do_html_footer();exit;}}//登陆成功后do_html_header('Home');//验证会话注册信息check_valid_user();//输出所有书签if ($url_array = get_user_urls($_SESSION['valid_user'])) {display_user_urls($url_array);}//输出页面底部的快捷菜单display_user_menu();?>

注册表单:register_form.php

<?phprequire_once('bm_functions.php');do_html_header('用户注册');?><form method="post" action="register_new.php"><table bgcolor="#cccccc" align="center" width="600"><tr><td colspan="2" align="right"><h2>用户注册</h2></td></tr><tr><td><b> 用户名: </b></td><td><input type="text" name="username" size="30" maxlength="30"/></td><td>(由数字、字母、下划线构成,16个字符以内)</td></tr><tr><td><b> 密码: </b></td><td ><input type="password" name="passwd" size="30" maxlength="30"/></td><td>(由数字、字母、下划线构成,6 ~ 16个字符 )</td></tr><tr><td><b> 确认密码: </b</td><td><input type="password" name="passwd2" size="30" maxlength="30"/></td><td>(由数字、字母、下划线构成,6 ~ 16个字符)</td></tr><tr><td><b> Email 地址: </b</td><td><input type="text" name="email" size="30" maxlength="100"/></td><td>(email 有过滤呦!)</td></tr><tr><td colspan=2 align="right"><input type="submit" value="Submit"></td></tr></table></form><?phpdo_html_footer();?>

注册后台处理程序:register_new.php

<?php//导入自定义的函数库require_once('bm_functions.php');$email=$_POST['email'];$username=$_POST['username'];$passwd=$_POST['passwd'];$passwd2=$_POST['passwd2'];// 开启会话session_start();try {// 调用函数检查表单是否填写if (!filled_out($_POST)) {throw new Exception('您的表单没有填写完,请继续填写!');}//过滤用户名if(!preg_match("/^[\x{4e00}-\x{9fa5}A-Za-z0-9_]{6,16}+$/u",$username)){throw new Exception('用户名包含非法字符或长度错误,请重新输入!');}// 过滤密码if ($passwd !== $passwd2) {throw new Exception('两次输入的密码不一致,请重新输入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd)){throw new Exception('密码包含非法字符或长度错误,请重新输入!');}if(!preg_match("/^[A-Za-z0-9_]{6,16}+$/u",$passwd2)){throw new Exception('密码包含非法字符或长度错误,请重新输入!');}// 过滤邮件地址if (!valid_email($email)) {throw new Exception('这不是一个有效的邮件地址,请重新填写!');}// 调用自定义函数向数据库插入注册信息register($username, $email, $passwd);// 保存用户会话信息$_SESSION['valid_user'] = $username;do_html_header('Registration successful');echo '注册成功!开始你的征程吧!';do_html_url('member.php', '重新登陆');}catch (Exception $e) {do_html_header('Problem:');echo $e->getMessage();do_html_footer();exit;}?>

新手小白做的第一个项目,代码诸多缺漏,不喜勿评。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。