学习PHP好久啦,对PHP语言也熟悉啦,想设计简单的会员系统,内容包括:建立数据库和表、会员注册、会员登陆、会员权限设置。涉及到的知识点:md5加密,Cookie/Session建立、使用、销毁等。下面将详细介绍怎样开发一个简单会员系统。 php
one,Window+Apache+MySQL+PHP集成开发环境,你们能够在网上下载。 mysql
建立数据库和表。在phpAdmin中建立一个名为member的数据库,在其中创建一种会员表,表名为:user_list, 其中主要字段包括:uid(会员ID值)、m_id(会员权限)、username(用户名)、password(密码)。关于表格中各字段的详细介绍以下表: sql
two,写一个配置文件。该配置文件主要信息:开启Session设置;链接数据库;密码安全附加信息;用户判断用户是否登陆,以及其是否具备访问权限的函数;用于查看会员登陆是否超时的函数。具体代码以下: shell
<?php 数据库
//开启Session设置 安全
session_start(); session
//链接数据库 函数
$conn=mysql_connect('localhost', 'root', ''); post
mysql_select_db('member', $conn); 学习
//密码安全附加信息
define(ALL_PS, "PHP100");
//用户判断用户是否登陆,以及其是否具备访问权限
function user_shell($uid, $shell, $m_id){
$sql = "select * from user_list where uid = '$uid' ";
$query = mysql_query($sql);
$us = is_array($row = mysql_fetch_array($query));
$shell = $us ? $shell == md5($row['username'].$row['password'].ALL_PS) : FALSE;
if($shell){
if($row['m_id']<= $m_id){
return $row;
}else{
echo "你的权限不足";
exit();
}
}else{
echo "你无权限访问该页面";
exit();
}
}
// 查看会员登陆是否超时
function user_mktime($onlinetime){
$new_time = mktime();
if($new_time-$onlinetime > '10'){
echo "登陆超时";
session_destroy();
}else{
$_SESSION['times'] = mktime(); //更新当前时间
}
}
?>
会员注册页面编写。新建一个会员注册的页面,命名为login.php。具体代码以下<?php include("config.php");
if($_POST['submit']){
$username= str_replace(" ","", $_POST['username']);
echo $username."<br>";
$password = md5($_POST['password'].ALL_PS);
echo $password."<br>";
$sql = "insert into user_list(uid, m_id,username,password) values(null, '0', '$username', '$password' ) ";
$query = mysql_query($sql);
//得到受影响的行数
$row=mysql_affected_rows($conn);
if($row>0)
{
echo "注册成功";
}else{
echo "注册失败";
}
}
?>
<form action="" method="post">
用户名:<input type="text" name="username" /><br>
密--码:<input type="password" name="password" /><br>
<input type="submit" name="submit" value="注册" /><br>
</form>
进行会员注册。这里咱们能够经过咱们编写的注册页面进行会员的注册,注册后的信息会添加入相应的数据库中,如图:
会员登陆页面编写。新建一个会员登入的页面,命名为user.php。具体代码以下:
<?php
include("config.php");
if($_POST['submit']){
$username= $_POST['username'];
$sql = "select * from user_list where username = '$username' ";
$query = mysql_query($sql);
$us = is_array($row = mysql_fetch_array($query));
echo $us."<br>";
$ps = $us ? md5($_POST['password'].ALL_PS) == $row['password'] : FALSE;
if($ps){
$_SESSION['uid'] = $row['uid'];
$_SESSION['user_shell'] = md5($row['username'].$row['password'].ALL_PS);
$_SESSION['times'] = mktime(); //登陆的时间
echo $_SESSION['times']."<br>";
echo "登陆成功";
}else{
echo "用户名或密码错误";
session_destroy();
}
}
?>
<form action="" method="post">
用户名:<input type="text" name="username" /><br>
密--码:<input type="password" name="password" /><br>
<input type="submit" name="submit" value="登陆" /><br>
</form>
会员访问的页面的建立。新建一个会员访问的界面,命名为user_sys.php,这个页面中要进行会员是否登陆以及是否有访问权限的设置,具体代码以下:
<?php
include("config.php");
//echo $_SESSION['uid']."<br>";
//echo $_SESSION['user_shell'];
$arr = user_shell($_SESSION['uid'] , $_SESSION['user_shell'], 4);
echo $_SESSION['times']."<br>";
echo mktime();
echo "用户名:".$arr['username']."<br>";
echo "密码:".$arr['password']."<br>";
echo "m_id:".$arr['m_id']."<br>";
user_mktime($_SESSION['times']);
?>
权限内容
至此,咱们的一个简单的会员系统就开发完成。图:
至此,会员登陆系统设计完毕
end,练习一下