博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP开发会员系统
阅读量:7090 次
发布时间:2019-06-28

本文共 3181 字,大约阅读时间需要 10 分钟。

hot3.png

   学习PHP很久啦,对PHP语言也熟悉啦,想设计简单的会员系统,内容包括:创建数据库和表、会员注册、会员登录、会员权限设置。涉及到的知识点:md5加密,Cookie/Session创建、使用、销毁等。下面将详细介绍怎样开发一个简单会员系统。

   one,Window+Apache+MySQL+PHP集成开发环境,大家可以在网上下载。

创建数据库和表。在phpAdmin中创建一个名为member的数据库,在其中建立一种会员表,表名为:user_list, 其中主要字段包括:uid(会员ID值)、m_id(会员权限)、username(用户名)、password(密码)。关于表格中各字段的详细介绍如下表:

two,写一个配置文件。该配置文件主要信息:开启Session设置;连接数据库;密码安全附加信息;用户判断用户是否登录,以及其是否具有访问权限的函数;用于查看会员登录是否超时的函数。具体代码如下: 

  1. <?php

    //开启Session设置

    session_start();

    //连接数据库

    $conn=mysql_connect('localhost', 'root', '');

    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");

  2. 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>

    进行会员注册。这里我们可以通过我们编写的注册页面进行会员的注册,注册后的信息会添加入相应的数据库中,如图:

    1. 会员登录页面编写。新建一个会员登入的页面,命名为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>

    2. 会员访问的页面的创建。新建一个会员访问的界面,命名为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']);

      ?>

      权限内容

    3. 7

      至此,我们的一个简单的会员系统就开发完成。图:

      至此,会员登录系统设计完毕

      end,练习一下

转载于:https://my.oschina.net/bigfool007139/blog/513648

你可能感兴趣的文章
J2EE 之二------------------- Servlet
查看>>
python argparse
查看>>
美团客户端响应式框架 EasyReact 开源啦
查看>>
前有BAT,后出独角兽,第二梯队很焦虑
查看>>
煲仔饭与软件测试
查看>>
ORACLE同义词总结
查看>>
在linux下安装android以及C/C++开发环境
查看>>
分享:【视频:淘宝手机生活节测试分享】
查看>>
idea maven 新建多模块项目
查看>>
Sqlserver 过期
查看>>
vs2013新建文件自动保存为utf-8编码
查看>>
用系统命令加载磁盘 (隐藏文件) "学习资料"放的再深也不怕
查看>>
mysql忘记没密码
查看>>
nsq服务器安装使用与golang客户端使用
查看>>
kubernetes1.5新特性(二):支持Photon卷插件
查看>>
Navicat 10 for MySQL 注册码
查看>>
单例模式 事例操作 最喜欢枚举类型单例模式
查看>>
记录一次linux线上服务器被黑事件
查看>>
gitlab ssh key
查看>>
Java记录 -81- EnumSet和EnumMap
查看>>