PHP開發會員系統

   學習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

  1. <?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");

  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,練習一下

相關文章
相關標籤/搜索