网页的编写用PHP最方便。用php做了最简单的用户登录、创建的程序。
一、 MySQL的设计
MySQL设计了两个表:members和sex。两张表的创建语句分别是:
create table members (id int(4) NOT NULL auto_increment,username varchar(65) NOT NULL default '',password varchar(65) NOT NULL default '',PRIMARY KEY (id));
后有增加了几个字段:
alter table members add firstname varchar(65);alter table members add lastname varchar(65);alter table members add email varchar(65);alter table members add age varchar(65);alter table members add sex_id int;alter table members modify sex_id int(4);alter table members modify age int(4);
第二张表的创建语句:
create table sex (sex_id int primary key not null, sex varchar(20));
两张表的结构如下:
mysql> desc members;+-----------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-----------+-------------+------+-----+---------+----------------+| id | int(4) | NO | PRI | NULL | auto_increment || username | varchar(65) | NO | | | || password | varchar(65) | NO | | | || firstname | varchar(65) | YES | | NULL | || lastname | varchar(65) | YES | | NULL | || email | varchar(65) | YES | | NULL | || age | int(4) | YES | | NULL | || sex_id | int(4) | YES | | NULL | |+-----------+-------------+------+-----+---------+----------------+8 rows in set (0.00 sec)mysql> desc sex;+--------+-------------+------+-----+---------+-------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+-------+| sex_id | int(11) | NO | PRI | NULL | || sex | varchar(20) | YES | | NULL | |+--------+-------------+------+-----+---------+-------+2 rows in set (0.00 sec)
二、php页面的编写
1 index.html
Index.html是用户的登录页面主要是html的编写:
具体的页面如下:
2 用户登录login.php
用户填写了用户名和密码后的登录和认证程序如下:
登录后的页面如下:
3 mysql的连接程序
在2中有一段conn.php,是与mysql的连接程序。具体内容如下:
4 用户页面my.php
用户登录后,可以显示自己的个人主页,其具体内容如下:
','login 登录'; exit();}$username = $_SESSION['username'];include('conn.php');$regsql = "select * from members join sex on username='$username' and members.sex_id=sex.sex_id";$user_query = mysql_query($regsql,$conn) or die('mysql query error');while($row = mysql_fetch_array($user_query)){ echo '用户名:',$row[username],''; echo '名:',$row[firstname],''; echo '姓:',$row[lastname],''; echo '年龄:',$row[age],''; echo 'Email:',$row[email],''; echo '性别:',$row[sex],'';}echo '注销 登录';?>
页面显示如下内容:
5 用户注册页面
用户的注册页面和登录页面类似,是html的,具体内容如下:
页面显示如下:
6 用户注册程序
用户注册程序内容如下:
";echo '返回登录页面login';mysql_close($conn);?>
具体的页面显示如下:
三、总结
用php+mysql实现用户认证的程序相当比较简单。但程序中需要主要session的控制。在需要保持session或unset session时,都需要session_start()。
总共6个程序组成了这个登录的逻辑:
[root@hwwaf02 au]# lltotal 24-rw-r--r--. 1 root root 323 Jun 23 00:17 conn.php-rw-r--r--. 1 root root 385 Jun 20 14:09 index.html-rw-r--r--. 1 root root 963 Jun 23 00:13 login.php-rw-r--r--. 1 root root 857 Jun 22 23:38 my.php-rw-r--r--. 1 root root 543 Jun 22 23:16 reg.html-rw-r--r--. 1 root root 630 Jun 22 23:42 reg.php