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. function InputCheck(LoginForm)
  19. {
  20. if (LoginForm.username.value == "")
  21. {
  22. alert("请输入用户名!");
  23. LoginForm.username.focus();
  24. return (false);
  25. }
  26. if (LoginForm.password.value == "")
  27. {
  28. alert("请输入密码!");
  29. LoginForm.password.focus();
  30. return (false);
  31. }
  32. }
  33. //-->
  34. </script>
  35. </head>
  36. <body>
  37. <div>
  38. <fieldset>
  39. <legend>用户登录</legend>
  40. <form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
  41. <p>
  42. <label for="username" class="label">用户名:</label>
  43. <input id="username" name="username" type="text" class="input" />
  44. <p/>
  45. <p>
  46. <label for="password" class="label">密 码:</label>
  47. <input id="password" name="password" type="password" class="input" />
  48. <p/>
  49. <p>
  50. <input type="submit" name="submit" value=" 确 定 " class="left" />
  51. </p>
  52. </form>
  53. </fieldset>
  54. </div>
  55. </body>
  56. </html>

conn.php

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

reg.php

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

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. function InputCheck(LoginForm)
  19. {
  20. if (LoginForm.username.value == "")
  21. {
  22. alert("请输入用户名!");
  23. LoginForm.username.focus();
  24. return (false);
  25. }
  26. if (LoginForm.password.value == "")
  27. {
  28. alert("请输入密码!");
  29. LoginForm.password.focus();
  30. return (false);
  31. }
  32. }
  33. //-->
  34. </script>
  35. </head>
  36. <body>
  37. <div>
  38. <fieldset>
  39. <legend>用户登录</legend>
  40. <form name="LoginForm" method="post" action="login.php" onSubmit="return InputCheck(this)">
  41. <p>
  42. <label for="username" class="label">用户名:</label>
  43. <input id="username" name="username" type="text" class="input" />
  44. <p/>
  45. <p>
  46. <label for="password" class="label">密 码:</label>
  47. <input id="password" name="password" type="password" class="input" />
  48. <p/>
  49. <p>
  50. <input type="submit" name="submit" value=" 确 定 " class="left" />
  51. </p>
  52. </form>
  53. </fieldset>
  54. </div>
  55. </body>
  56. </html>

login.php

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

my.php

  1. <?php
  2. session_start();
  3. //检测是否登录,若没登录则转向登录界面
  4. if(!isset($_SESSION['userid'])){
  5. header("Location:login.html");
  6. exit();
  7. }
  8. //包含数据库连接文件
  9. include('conn.php');
  10. $userid = $_SESSION['userid'];
  11. $username = $_SESSION['username'];
  12. $user_query = mysql_query("select * from user where uid=$userid limit 1");
  13. $row = mysql_fetch_array($user_query);
  14. echo '用户信息:<br />';
  15. echo '用户ID:',$userid,'<br />';
  16. echo '用户名:',$username,'<br />';
  17. echo '邮箱:',$row['email'],'<br />';
  18. echo '注册日期:',date("Y-m-d", $row['regdate']),'<br />';
  19. echo '<a href="login.php?action=logout">注销</a> 登录<br />';
  20. ?>
 
 

社交

PHP 附录 : 用户注册与登录完整代码的更多相关文章

  1. PHP用户注册与登录完整代码【4】

    login.html <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...

  2. 单点登录SSO:可一键运行的完整代码

    单点登录方案不同于一个普通站点,它的部署比较繁琐:涉及到好几个站点,要改host.安装证书.配置HTTPS. 看到的不少这方面示例都是基于HTTP的,不认同这种简化: 1. 它体现不出混合HTTP/H ...

  3. 吴裕雄 python 人工智能——智能医疗系统后台用户注册、登录和初诊简约版代码展示

    #用户注册.登录模块 #数据库脚本 CREATE TABLE usertable( userid number(8) primary key not null , username varchar(5 ...

  4. Django学习笔记(16)——扩展Django自带User模型,实现用户注册与登录

    一,项目题目:扩展Django自带User模型,实现用户注册与登录 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统.此时我们需要实现包括用户注册,登录,用户认证,注销,修改密码等功能. ...

  5. java mail实现Email的发送,完整代码

    java mail实现Email的发送,完整代码 1.对应用程序配置邮件会话 首先, 导入jar <dependencies> <dependency> <groupId ...

  6. jQuery弹出窗口完整代码

    jQuery弹出窗口完整代码 效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/1.htm 1 <!DOCTYPE html PUBLIC "- ...

  7. day19面向对象 , 用户注册和登录

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 1.简述编写类和执行类中方法的流程."""编写:class Person: d ...

  8. Django学习笔记(9)—— 开发用户注册与登录系统

    一,项目题目: 开发用户注册与登录系统 该项目主要练习使用Django开发一个用户注册与登录的系统,通过这个项目然后巩固自己这段时间所学习的Django知识. 二,项目需求: 开发一个简单的用户登录与 ...

  9. Android基于XMPP Smack Openfire下学习开发IM(一)实现用户注册、登录、修改密码和注销等

    http://blog.csdn.net/h7870181/article/details/8653865 以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后 ...

随机推荐

  1. java集合知识点

    若不重写equals方法,则调用的是object对象的equals方法,相当于==比较,比较的是对象的内存地址 |------Collection接口:单列集合,用来存储一个一个对象 |------L ...

  2. nyoj 57

    6174问题 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 假设你有一个各位数字互不相同的四位数,把所有的数字从大到小排序后得到a,从小到大后得到b,然后用a-b替 ...

  3. C++中的内联函数

    (1)定义.函数声明和定义时,在返回值类型前加inline关键字. (2)作用.避免调用时的额外开销. (3)使用情况.函数体很小,且频繁调用. (4)本质.通过牺牲代码段空间,来提高程序运行的时间效 ...

  4. GCD的常用代码块

    一.队列 1.获取全局的并发队列 dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ...

  5. 「题解」「美团 CodeM 资格赛」跳格子

    目录 「题解」「美团 CodeM 资格赛」跳格子 题目描述 考场思路 思路分析及正解代码 「题解」「美团 CodeM 资格赛」跳格子 今天真的考自闭了... \(T1\) 花了 \(2h\) 都没有搞 ...

  6. Preparing for the interview of FLAG and USDA

    7,Dynamic Programming 1,Unique Paths A robot is located at the top-left corner of a m x n grid (mark ...

  7. tf.reduce_max 与 reduce 系列 API

    reduce 可以理解为 python 里的 reduce 函数: tensorflow 中有很多 reduce_ API,其用法完全相同 tf.reduce_max 以这个为例进行说明 def re ...

  8. broadcom sdk command

    1.查看端口link状态 BCM.0>ps 2.查看vlan BCM.0>vlan show 3.查看pvlan BCM.0>pvlan show 4.CPU发包 BCM.0> ...

  9. 3 CSS 定位&浮动&水平对齐&组合选择符&伪类&伪元素

    CSS Position(定位):元素的定位与文档流无关 static定位: HTML元素的默认值, 没有定位,元素出现在正常的流中 静态定位的元素不会受到top,bottom,left,right影 ...

  10. windows安装ActiveMQ以及点对点以及发布订阅

    一.MQ产品的分类 1.RabbitMQ 是使用Erlang编写的一个开源的消息队列,本身支持很多的协议:AMQP,XMPP, SMTP, STOMP,也正是如此,使的它变的非常重量级,更适合于企业级 ...