网站用户注册与登录是很常用的一个功能,本节教材就以此来演示一下 PHP 中如何开发用户注册与登录模块。

本节需要用到的重点 PHP 基础知识:

  • PHP 中预定义 $_POST 和 $_GET 全局变量来接受用户表单和 URL 参数信息,关于 PHP 表单更多信息参见《PHP 表单》。
  • PHP 正则表达式用于判断用户的输入是否符合要求,关于 正则表达式 更多信息参见《PHP 正则表达式》。
  • 用户登录检测通过后以 session 来保持用户的登录信息,关于 session 更多信息参见《PHP Session》或者《PHP Cookie》。

需求分析

主要功能分为 用户注册、用户登录、用户退出、用户中心 四个部分。

用户注册

用户注册主要功能有:

  1. 注册信息表单填写界面 javascript 脚本初步检测用户输入的注册信息。
  2. 注册处理模块检测注册信息是否符合要求。
  3. 检测用户名是否已存在。
  4. 将注册信息写入数据表,注册成功。

用户登录

用户登录主要功能有:

  1. 登录表单界面 javascript 脚本初步检测用户输入的登录信息。
  2. 登录模块将用户输入信息与数据库数据进行核对。
  3. 登录信息正确,则提示登录成功,将用户设置为登录状态(session)。
  4. 登录信息不正确,则提示登录失败,用户可以再次尝试登录。

用户退出

用户退出主要功能有:

  1. 无条件注销 session 。

用户中心

用户退出主要功能有:

  1. 判断用户是否登录,如果没有登录,则转向到登录界面。
  2. 如果登录是登录状态,则读出用户相关信息。

数据表设计

根据功能需求分析,用于记用户信息的 user 表需要的字段如下:

字段名 数据类型 说明
uid mediumint(8) 主键,自动增长
username char(15) 注册用户名
password char(32) MD5 加密后的密码
email varchar(40) 用户 Email
regdate int(10) 用户注册时间戳

建表 SQL 参考如下:

CREATE TABLE `user` (
`uid` mediumint(8) unsigned NOT NULL auto_increment,
`username` char(15) NOT NULL default '',
`password` char(32) NOT NULL default '',
`email` varchar(40) NOT NULL default '',
`regdate` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`uid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

页面布局

各页面功能如下:

  • reg.html:用户注册信息填写表单页面
  • conn.php:数据库连接包含文件
  • reg.php:用户注册处理程序
  • login.html:用户登录表单页面
  • login.php:用户登录表单页面
  • my.php:用户中心

PHP 用户注册与登录的更多相关文章

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

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

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

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

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

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

  4. openfire Android学习(一)----实现用户注册、登录、修改密码和注销等

    以前学习过用Scoket 建立聊天,简单的建立聊天是没问题的,但如果要实现多人复杂的聊天,后台服务器代码就比较复杂,对于我这新手来讲就比较难了.后来在网上看到用openfire做服务器,利用强大的Sm ...

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

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

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

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

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

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

  8. PHP用户注册与登录【1】

    需求分析 主要功能分为 用户注册.用户登录.用户退出.用户中心 四个部分. 用户注册 用户注册主要功能有: 注册信息表单填写界面 javascript 脚本初步检测用户输入的注册信息. 注册处理模块检 ...

  9. Flask -- 使用数据库(Sqlite3)、用户注册、登录注销、修改密码

    # 使用sqlite数据库 import sqlite3from contextlib import closing app.config.update( DATABASE = 'my.db', #相 ...

随机推荐

  1. MFC图形处理

    关于MFC绘图功能入门 创建Dialog based MFC工程    打开Resource view 下的Dialog主界面 添加Picture control控件,为此控件添加CStatic的co ...

  2. Java 内存泄露的理解与解决过程

    本文详细地介绍了Java内存管理的原理,以及内存泄露产生的原因,同时提供了一些列解决Java内存泄露的方案,希望对各位Java开发者有所帮助. Java内存管理机制 在C++ 语言中,如果需要动态分配 ...

  3. redis基本用法

    java连接redis基本用法 package Redis;    import java.util.HashMap;  import java.util.List;  import java.uti ...

  4. [置顶] c# asp.net 修改webconfig文件 配置

    c# asp.net 修改webconfig文件 配置 #region 修改config文件 /// <summary> /// 修改config文件(AppSetting节点) /// ...

  5. Error, some other host already uses address

    rhel 5.9,在修改完网卡配置信息重启网卡之后提示如下无法激活网卡: Error, some other host already uses address 确认配置的IP地址是没有在用的,解决办 ...

  6. UVA 10985 - Rings'n'Ropes(floyd)

    Problem D Rings'n'Ropes Time Limit: 3 seconds "Well, that seems to be the situation. But, I don ...

  7. win8系统添加开机自启动软件的方法(转)

    win8系统添加开机自启动软件的方法,把需要设置开机自启动的软件的快捷方式复制到下面任意路径就ok了.开机自启动路径如下:C:\ProgramData\Microsoft\Windows\Start ...

  8. mac下修改mysql的默认字符集为utf8

    1,检查默认安装的mysql的字符集 mysql> show variables like '%char%'; +--------------------------+------------- ...

  9. PDF模板报表导出(Java+Acrobat+itext)

    1. 首先要安装Adobe Acrobat,装好之后用Acrobat从一个word,excel或者pdf中转换一个pdf模板,我做的模板很简单,直接写一个简单的word再生成一个pdf表单,之后编辑文 ...

  10. 【Linux常用工具】1.1 diff命令的三种格式

    diff是用来比较两个文本文件的差异的工具,它有三种格式,下面用实例介绍一下: 准备三个测试文件1.txt 2.txt 3.txt bixiaopeng@bixiaopengtekiMacBook-P ...