php+mysql实现简单登录注册修改密码网页


Posted in PHP onNovember 30, 2016

对于php和mysql的连接在许多blog上都有说明,为了将mysql中的查询,修改,插入等操作掌握,本文介绍了一下如何采用mysql做一个登录注册修改密码的网页。

其中,如下

1.登录-即为对数据库中的内容给予查询,并验证html中的信息与数据库是否匹配;
2.注册-即为对数据库中的内容进行插入,注册帐号与密码;
3.修改密码-即为对数据库中的内容进行修改。

这三个操作,我用了8个php和html文本来建立 具体见代码部分
1.登录的主界面index.html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>登录注册修改密码系统主页</title> 
<style type="text/css"> 
form { 
 text-align: center; 
} 
</style> 
</head> 
<body> 
 <form action="enter.php" method="post" onsubmit="return enter()"> 
 用户名<input type="text" name="username" id="username"><br> 密码<input 
 type="password" name="password" id="password"><br> <input 
 type="submit" value="登录"> <input type="button" 
 value="注册" onclick="register();"> 
 
 </form> 
 
 <script type="text/javascript"> 
 function enter() 
 { 
 var username=document.getElementById("username").value;//获取form中的用户名 
 var password=document.getElementById("password").value; 
 var regex=/^[/s]+$/;//声明一个判断用户名前后是否有空格的正则表达式 
 if(regex.test(username)||username.length==0)//判定用户名的是否前后有空格或者用户名是否为空 
 { 
 alert("用户名格式不对"); 
 return false; 
 } 
 if(regex.test(password)||password.length==0)//同上述内容 
 { 
 alert("密码格式不对"); 
 return false; 
 } 
 return true; 
 } 
 function register() 
 { 
 window.location.href="register.html";//跳转到注册页面 
 } 
 </script> 
</body> 
</html>

2.登录的后台操作enter.php:

<!doctype html> 
<html> 
<head> 
 <meta charset="UTF-8"> 
 <title>登录系统的后台执行过程</title> 
</head> 
<body> 
 <?php 
 session_start();//登录系统开启一个session内容 
 $username=$_REQUEST["username"];//获取html中的用户名(通过post请求) 
 $password=$_REQUEST["password"];//获取html中的密码(通过post请求) 
 
 $con=mysql_connect("localhost","root","root");//连接mysql 数据库,账户名root ,密码root 
 if (!$con) { 
 die('数据库连接失败'.$mysql_error()); 
 } 
 mysql_select_db("user_info",$con);//use user_info数据库; 
 $dbusername=null; 
 $dbpassword=null; 
 $result=mysql_query("select * from user_info where username ='$username';");//查出对应用户名的信息 
 while ($row=mysql_fetch_array($result)) {//while循环将$result中的结果找出来 
 $dbusername=$row["username"]; 
 $dbpassword=$row["password"]; 
 } 
 if (is_null($dbusername)) {//用户名在数据库中不存在时跳回index.html界面 
 ?> 
 <script type="text/javascript"> 
 alert("用户名不存在"); 
 window.location.href="index.html"; 
 </script> 
 <?php 
 } 
 else { 
 if ($dbpassword!=$password){//当对应密码不对时跳回index.html界面 
 ?> 
 <script type="text/javascript"> 
 alert("密码错误"); 
 window.location.href="index.html"; 
 </script> 
 <?php 
 } 
 else { 
 $_SESSION["username"]=$username; 
 $_SESSION["code"]=mt_rand(0, 100000);//给session附一个随机值,防止用户直接通过调用界面访问welcome.php 
 ?> 
 <script type="text/javascript"> 
 window.location.href="welcome.php"; 
 </script> 
 <?php 
 } 
 } 
 mysql_close($con);//关闭数据库连接,如不关闭,下次连接时会出错 
 ?> 
</body> 
</html>

3.登录成功后的欢迎界面welcome.php:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>欢迎登录界面</title> 
</head> 
<body> 
 
<?php 
session_start (); 
if (isset ( $_SESSION ["code"] )) {//判断code存不存在,如果不存在,说明异常登录 
 ?> 
欢迎登录<?php 
 echo "${_SESSION["username"]}";//显示登录用户名 
 ?><br> 
您的ip:<?php 
 echo "${_SERVER['REMOTE_ADDR']}";//显示ip 
 ?> 
<br> 
您的语言: 
<?php 
 echo "${_SERVER['HTTP_ACCEPT_LANGUAGE']}";//使用的语言 
 ?> 
<br> 
浏览器版本: 
<?php 
 echo "${_SERVER['HTTP_USER_AGENT']}";//浏览器版本信息 
 ?> 
<a href="exit.php">退出登录</a> 
<?php 
} else {//code不存在,调用exit.php 退出登录 
 ?> 
<script type="text/javascript"> 
 alert("退出登录"); 
 window.location.href="exit.php"; 
</script> 
<?php 
} 
?> 
<br> 
 <a href="alter_password.html">修改密码</a> 
 
</body> 
</html>

4.修改密码的主界面alter_password.html:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>修改密码</title> 
<style type="text/css"> 
 form{ 
 text-align: center; 
 } 
</style> 
</head> 
<body> 
 <?php 
 session_start(); 
 ?> 
 <form action="alter_password.php" method="post" onsubmit="return alter()"> 
 用户名<input type="text" name="username" id ="username" /><br/> 旧密码<input 
 type="password" name="oldpassword" id ="oldpassword"/><br/> 新密码<input 
 type="password" name="newpassword" id="newpassword"/><br/> 确认新密码<input 
 type="password" name="assertpassword" id="assertpassword"/><br/> <input 
 type="submit" value="修改密码" onclick="return alter()"> 
 </form> 
 <script type="text/javascript"> 
 document.getElementById("username").value="<? php echo "${_SESSION["username"]}";?>" 
 </script> 
 
 <script type="text/javascript"> 
 function alter() { 
 
 var username=document.getElementById("username").value; 
 var oldpassword=document.getElementById("oldpassword").value; 
 var newpassword=document.getElementById("newpassword").value; 
 var assertpassword=document.getElementById("assertpassword").value; 
 var regex=/^[/s]+$/; 
 if(regex.test(username)||username.length==0){ 
 alert("用户名格式不对"); 
 return false; 
 } 
 if(regex.test(oldpassword)||oldpassword.length==0){ 
 alert("密码格式不对"); 
 return false; 
 } 
 if(regex.test(newpassword)||newpassword.length==0) { 
 alert("新密码格式不对"); 
 return false; 
 } 
 if (assertpassword != newpassword||assertpassword==0) { 
 alert("两次密码输入不一致"); 
 return false; 
 } 
 return true; 
 
 } 
 </script> 
</body> 
</html>

5.修改密码的后台操作alter_password.php:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>正在修改密码</title> 
</head> 
<body> 
 <?php 
 session_start (); 
 $username = $_REQUEST ["username"]; 
 $oldpassword = $_REQUEST ["oldpassword"]; 
 $newpassword = $_REQUEST ["newpassword"]; 
 
 $con = mysql_connect ( "localhost", "root", "root" ); 
 if (! $con) { 
 die ( '数据库连接失败' . $mysql_error () ); 
 } 
 mysql_select_db ( "user_info", $con ); 
 $dbusername = null; 
 $dbpassword = null; 
 $result = mysql_query ( "select * from user_info where username ='$username';" ); 
 while ( $row = mysql_fetch_array ( $result ) ) { 
 $dbusername = $row ["username"]; 
 $dbpassword = $row ["password"]; 
 } 
 if (is_null ( $dbusername )) { 
 ?> 
 <script type="text/javascript"> 
 alert("用户名不存在"); 
 window.location.href="alter_password.html"; 
 </script> 
 <?php 
 } 
 if ($oldpassword != $dbpassword) { 
 ?> 
 <script type="text/javascript"> 
 alert("密码错误"); 
 window.location.href="alter_password.html"; 
 </script> 
 <?php 
 } 
 mysql_query ( "update user_info set password='$newpassword' where username='$username'" ) or die ( "存入数据库失败" . mysql_error () );//如果上述用户名密码判定不错,则update进数据库中 
 mysql_close ( $con ); 
 ?> 
 
 
 <script type="text/javascript"> 
 alert("密码修改成功"); 
 window.location.href="index.html"; 
 </script> 
</body> 
</html>

6.注册帐号的主界面register.html:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>注册系统</title> 
<style type="text/css"> 
form { 
 text-align: center; 
} 
</style> 
</head> 
<body> 
 
 <form action="register.php" method="post" name="form_register" 
 onsubmit="return check()"> 
 用户名<input type="text" name="username" id="username"><br> 
 密码<input type="password" name="password" id="password"><br> 
 确认密码<input type="password" name="assertpassword" id="assertpassword"><br> 
 <input type="submit" value="注册"> 
 
 </form> 
 
 <script type="text/javascript"> 
 function check() { 
 var username=document.getElementById("username").value; 
 var password=document.getElementById("password").value; 
 var assertpassword=document.getElementById("assertpassword").value; 
 var regex=/^[/s]+$/; 
 
 if(regex.test(username)||username.length==0){ 
 alert("用户名格式不对"); 
 return false; 
 } 
 if(regex.test(password)||password.length==0){ 
 alert("密码格式不对"); 
 return false; 
 } 
 if(password!=assertpassword){ 
 alert("两次密码不一致"); 
 return false; 
 } 
 } 
 </script> 
</body> 
</html>

7.注册帐号的后台操作register.php:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
 <title>注册用户</title> 
</head> 
<body> 
 <?php 
 session_start(); 
 $username=$_REQUEST["username"]; 
 $password=$_REQUEST["password"]; 
 
 $con=mysql_connect("localhost","root","root"); 
 if (!$con) { 
 die('数据库连接失败'.$mysql_error()); 
 } 
 mysql_select_db("user_info",$con); 
 $dbusername=null; 
 $dbpassword=null; 
 $result=mysql_query("select * from user_info where username ='$username';"); 
 while ($row=mysql_fetch_array($result)) { 
 $dbusername=$row["username"]; 
 $dbpassword=$row["password"]; 
 } 
 if(!is_null($dbusername)){ 
 ?> 
 <script type="text/javascript"> 
 alert("用户已存在"); 
 window.location.href="register.html"; 
 </script> 
 <?php 
 } 
 mysql_query("insert into user_info (username,password) values('$username','$password')") or die("存入数据库失败".mysql_error()) ; 
 mysql_close($con); 
 ?> 
 <script type="text/javascript"> 
 alert("注册成功"); 
 window.location.href="index.html"; 
 </script> 
 
 
</body> 
</html>

8.非法登录时退出登录的操作exit.php:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 
<?php 
session_start ();//将session销毁时调用destroy 
session_destroy (); 
?> 
<script type="text/javascript"> 
 window.location.href="index.html"; 
</script> 
</body> 
</html>

9.mysql数据库搭建部分

php+mysql实现简单登录注册修改密码网页

php+mysql实现简单登录注册修改密码网页

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
提升PHP执行速度全攻略(下)
Oct 09 PHP
php数组对百万数据进行排除重复数据的实现代码
Jun 08 PHP
php类中的各种拦截器用法分析
Nov 03 PHP
php实现webservice实例
Nov 06 PHP
php堆排序实现原理与应用方法
Jan 03 PHP
PHP数组的定义、初始化和数组元素的显示实现代码
Nov 05 PHP
php基于环形链表解决约瑟夫环问题示例
Nov 07 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
php设计模式之装饰模式应用案例详解
Jun 17 PHP
RSA实现JS前端加密与PHP后端解密功能示例
Aug 05 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
TP5框架页面跳转样式操作示例
Apr 05 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 #PHP
thinkPHP模板中for循环与switch语句用法示例
Nov 30 #PHP
thinkPHP自定义类实现方法详解
Nov 30 #PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 #PHP
php实现异步将远程链接上内容(图片或内容)写到本地的方法
Nov 30 #PHP
PHP实现的同步推荐操作API接口案例分析
Nov 30 #PHP
PHP实现多图上传(结合uploadify插件)思路分析
Nov 30 #PHP
You might like
调频问题解答
2021/03/01 无线电
发布一个迷你php+AJAX聊天程序[聊天室]提供下载
2007/07/21 PHP
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
CI框架中zip类应用示例
2014/06/17 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
php使用 readfile() 函数设置文件大小大小的方法
2017/08/11 PHP
location.href 在IE6中不跳转的解决方法与推荐使用代码
2010/07/08 Javascript
NodeJs中的非阻塞方法介绍
2012/06/05 NodeJs
JavaScript获得url所有参数键值表的方法
2015/03/21 Javascript
js实现仿Windows风格选项卡和按钮效果实例
2015/05/13 Javascript
基于jQuery实现选取月份插件附源码下载
2015/12/28 Javascript
jQuery实现表格隔行及滑动,点击时变色的方法【测试可用】
2016/08/20 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
2016/09/17 Javascript
JavaScript ES6中CLASS的使用详解
2016/11/22 Javascript
Bootstrap面板使用方法
2017/01/16 Javascript
简单好用的nodejs 爬虫框架分享
2017/03/26 NodeJs
js断点调试经验分享
2017/12/08 Javascript
Vue 2.5.2下axios + express 本地请求404的解决方法
2018/02/21 Javascript
如何理解Vue的v-model指令的使用方法
2018/07/19 Javascript
浅析Vue 和微信小程序的区别、比较
2018/08/03 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
2018/08/29 Javascript
vue插件实现v-model功能
2018/09/10 Javascript
JavaScript动态检测密码强度原理及实现方法详解
2019/06/11 Javascript
VUE异步更新DOM - 用$nextTick解决DOM视图的问题
2020/11/06 Javascript
[01:54]TI珍贵瞬间系列(三):翻盘
2020/08/28 DOTA
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Python实现的径向基(RBF)神经网络示例
2018/02/06 Python
解决yum对python依赖版本问题
2019/07/05 Python
澳大利亚优惠网站:Deals.com.au
2019/07/02 全球购物
年终奖发放方案
2014/06/02 职场文书
春游踏青活动方案
2014/08/14 职场文书
小学教师自我剖析材料
2014/09/29 职场文书
描述鲁迅的名言整理,一生受用
2019/08/08 职场文书
MySQL表的增删改查基础教程
2021/04/07 MySQL
Python3接口性能测试实例代码
2021/06/20 Python
GO语言异常处理分析 err接口及defer延迟
2022/04/14 Golang