PHP 附录 : 用户注册与登录完整代码

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:   login.html        用户登录    html{font-size:12px;}  fieldset{width:520px; margin: 0 auto;}  legend{font-weight:bold; font-size:14px;}...

 


login.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <html xmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> 
  6. <title>用户登录</title> 
  7. <style type="text/css"> 
  8. html{font-size:12px;} 
  9. fieldset{width:520px; margin: 0 auto;} 
  10. legend{font-weight:bold; font-size:14px;} 
  11. label{float:left; width:70px; margin-left:10px;} 
  12. .left{margin-left:80px;} 
  13. .input{width:150px;} 
  14. span{color: #666666;} 
  15. </style> 
  16. <script language=JavaScript> 
  17. <!-- 
  18.  
  19. function InputCheck(LoginForm) 
  20. if (LoginForm.username.value == "") 
  21. alert("请输入用户名!"); 
  22. LoginForm.username.focus(); 
  23. return (false); 
  24. if (LoginForm.password.value == "") 
  25. alert("请输入密码!"); 
  26. LoginForm.password.focus(); 
  27. return (false); 
  28.  
  29. //--> 
  30. </script> 
  31. </head> 
  32. <body> 
  33. <div> 
  34. <fieldset> 
  35. <legend>用户登录</legend> 
  36. <form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)"> 
  37. <p> 
  38. <label for="username" class="label">用户名:</label> 
  39. <input id="username" name="username" type="text" class="input" /> 
  40. <p/> 
  41. <p> 
  42. <label for="password" class="label">密 码:</label> 
  43. <input id="password" name="password" type="password" class="input" /> 
  44. <p/> 
  45. <p> 
  46. <input type="submit" name="submit" value=" 确 定 " class="left" /> 
  47. </p> 
  48. </form> 
  49. </fieldset> 
  50. </div> 
  51. </body> 
  52. </html>

conn.php

  1. <?php 
  2. /***************************** 
  3. *数据库连接 
  4. *****************************/ 
  5. $conn = @mysql_connect("localhost","root","root123"); 
  6. if (!$conn){ 
  7. die("连接数据库失败:" . mysql_error()); 
  8. mysql_select_db("test", $conn); 
  9. //字符转换,读库 
  10. mysql_query("set character set 'gbk'"); 
  11. //写库 
  12. mysql_query("set names 'gbk'"); 
  13. ?>

reg.php

  1. <?php 
  2. if(!isset($_POST['submit'])){ 
  3. exit('非法访问!'); 
  4. $username = $_POST['username']; 
  5. $password = $_POST['password']; 
  6. $email = $_POST['email']; 
  7. //注册信息判断 
  8. if(!preg_match('/^[\w\x80-\xff]{3,15}$/', $username)){ 
  9. exit('错误:用户名不符合规定。<a href="javascript:history.back(-1);">返回</a>'); 
  10. if(strlen($password) < 6){ 
  11. exit('错误:密码长度不符合规定。<a href="javascript:history.back(-1);">返回</a>'); 
  12. if(!preg_match('/^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$/', $email)){ 
  13. exit('错误:电子邮箱格式错误。<a href="javascript:history.back(-1);">返回</a>'); 
  14. //包含数据库连接文件 
  15. include('conn.php'); 
  16. //检测用户名是否已经存在 
  17. $check_query = mysql_query("select uid from user where username='$username' limit 1"); 
  18. if(mysql_fetch_array($check_query)){ 
  19. echo '错误:用户名 ',$username,' 已存在。<a href="javascript:history.back(-1);">返回</a>'; 
  20. exit; 
  21. //写入数据 
  22. $password = MD5($password); 
  23. $regdate = time(); 
  24. $sql = "INSERT INTO user(username,password,email,regdate)VALUES('$username','$password','$email', 
  25. $regdate)"; 
  26. if(mysql_query($sql,$conn)){ 
  27. exit('用户注册成功!点击此处 <a href="login.html">登录</a>'); 
  28. else { 
  29. echo '抱歉!添加数据失败:',mysql_error(),'<br />'; 
  30. echo '点击此处 <a href="javascript:history.back(-1);">返回</a> 重试'; 
  31. ?>

login.html

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <html xmlns="http://www.w3.org/1999/xhtml"> 
  4. <head> 
  5. <meta http-equiv="Content-Type" content="text/html; charset=gbk" /> 
  6. <title>用户登录</title> 
  7. <style type="text/css"> 
  8. html{font-size:12px;} 
  9. fieldset{width:300px; margin: 0 auto;} 
  10. legend{font-weight:bold; font-size:14px;} 
  11. .label{float:left; width:70px; margin-left:10px;} 
  12. .left{margin-left:80px;} 
  13. .input{width:150px;} 
  14. span{color: #666666;} 
  15. </style> 
  16. <script language=JavaScript> 
  17. <!-- 
  18.  
  19. function InputCheck(LoginForm) 
  20. if (LoginForm.username.value == "") 
  21. alert("请输入用户名!"); 
  22. LoginForm.username.focus(); 
  23. return (false); 
  24. if (LoginForm.password.value == "") 
  25. alert("请输入密码!"); 
  26. LoginForm.password.focus(); 
  27. return (false); 
  28.  
  29. //--> 
  30. </script> 
  31. </head> 
  32. <body> 
  33. <div> 
  34. <fieldset> 
  35. <legend>用户登录</legend> 
  36. <form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)"> 
  37. <p> 
  38. <label for="username" class="label">用户名:</label> 
  39. <input id="username" name="username" type="text" class="input" /> 
  40. <p/> 
  41. <p> 
  42. <label for="password" class="label">密 码:</label> 
  43. <input id="password" name="password" type="password" class="input" /> 
  44. <p/> 
  45. <p> 
  46. <input type="submit" name="submit" value=" 确 定 " class="left" /> 
  47. </p> 
  48. </form> 
  49. </fieldset> 
  50. </div> 
  51. </body> 
  52. </html> 

login.php

  1. <?php 
  2. session_start(); 
  3.  
  4. //注销登录 
  5. if($_GET['action'] == "logout"){ 
  6. unset($_SESSION['userid']); 
  7. unset($_SESSION['username']); 
  8. echo '注销登录成功!点击此处 <a href="login.html">登录</a>'; 
  9. exit; 
  10.  
  11. //登录 
  12. if(!isset($_POST['submit'])){ 
  13. exit('非法访问!'); 
  14. $username = htmlspecialchars($_POST['username']); 
  15. $password = MD5($_POST['password']); 
  16.  
  17. //包含数据库连接文件 
  18. include('conn.php'); 
  19. //检测用户名及密码是否正确 
  20. $check_query = mysql_query("select uid from user where username='$username' and password='$password' 
  21. limit 1"); 
  22. if($result = mysql_fetch_array($check_query)){ 
  23. //登录成功 
  24. $_SESSION['username'] = $username; 
  25. $_SESSION['userid'] = $result['uid']; 
  26. echo $username,' 欢迎你!进入 <a href="my.php">用户中心</a><br />'; 
  27. echo '点击此处 <a href="login.php?action=logout">注销</a> 登录!<br />'; 
  28. exit; 
  29. else { 
  30. exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试'); 
  31. ?> 


my.php

  1. <?php 
  2. session_start(); 
  3.  
  4. //检测是否登录,若没登录则转向登录界面 
  5. if(!isset($_SESSION['userid'])){ 
  6. header("Location:login.html"); 
  7. exit(); 
  8.  
  9. //包含数据库连接文件 
  10. include('conn.php'); 
  11. $userid = $_SESSION['userid']; 
  12. $username = $_SESSION['username']; 
  13. $user_query = mysql_query("select * from user where uid=$userid limit 1"); 
  14. $row = mysql_fetch_array($user_query); 
  15. echo '用户信息:<br />'; 
  16. echo '用户ID:',$userid,'<br />'; 
  17. echo '用户名:',$username,'<br />'; 
  18. echo '邮箱:',$row['email'],'<br />'; 
  19. echo '注册日期:',date("Y-m-d", $row['regdate']),'<br />'; 
  20. echo '<a href="login.php?action=logout">注销</a> 登录<br />'; 
  21. ?>
 
 
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
29天前
|
PHP 开发者 UED
PHP 中的异常处理:提高代码健壮性的关键
【2月更文挑战第28天】在 PHP 开发中,异常处理是确保应用程序稳定性和可靠性的重要环节。本文将深入探讨 PHP 异常的概念、类型及其处理机制,并通过实例演示如何有效地捕获和处理异常,以增强代码的健壮性和用户体验。
|
2月前
|
安全 PHP 数据库
从建站打拿站 -- PHP(登录和注册)
从建站打拿站 -- PHP(登录和注册)
13 1
php案例:判断这个文件是什么编程语言代码的文件(判断java或者php)
php案例:判断这个文件是什么编程语言代码的文件(判断java或者php)
php案例:判断这个文件是什么编程语言代码的文件(判断java或者php)
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
php案例:用代码的方式创建目录+文件+写入数据(都由你定)
|
3月前
|
PHP 数据安全/隐私保护
|
3月前
|
SQL PHP 数据库
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
PHP案例:每一个账号登陆后的操作是隔离的(使用token进行登录)
|
3月前
|
前端开发 JavaScript PHP