PHP開發會員系統

來源:互聯網
上載者:User
學習PHP很久啦,對PHP語言也熟悉啦,想設計簡單的會員系統,內容包括:建立資料庫和表、會員註冊、會員登入、會員使用權限設定。涉及到的知識點:md5加密,Cookie/Session建立、使用、銷毀等。下面將詳細介紹怎樣開發一個簡單會員系統。

one,Window+Apache+MySQL+PHP整合式開發環境,大家可以在網上下載。

建立資料庫和表。在phpAdmin中建立一個名為member的資料庫,在其中建立一種會員表,表名為:user_list, 其中主要欄位包括:uid(會員ID值)、m_id(會員許可權)、username(使用者名稱)、password(密碼)。關於表格中各欄位的詳細介紹如下表:

two,寫一個設定檔。該設定檔主要資訊:開啟Session設定;串連資料庫;密碼安全附加資訊;使用者判斷使用者是否登入,以及其是否具有存取權限的函數;用於查看會員登入是否逾時的函數。具體代碼如下:

//開啟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。具體代碼如下

if($_POST['submit']){

$username= str_replace(" ","", $_POST['username']);

echo $username."
";

$password = md5($_POST['password'].ALL_PS);

echo $password."
";

$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 "註冊失敗";

}

}

?>

進行會員註冊。這裡我們可以通過我們編寫的註冊頁面進行會員的註冊,註冊後的資訊會添加入相應的資料庫中,

會員登入頁面編寫。建立一個會員登入的頁面,命名為user.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."
";

$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']."
";

echo "登入成功";

}else{

echo "使用者名稱或密碼錯誤";

session_destroy();

}

}

?>

會員訪問的頁面的建立。建立一個會員訪問的介面,命名為user_sys.php,這個頁面中要進行會員是否登入以及是否有存取權限的設定,具體代碼如下:

include("config.php");

//echo $_SESSION['uid']."
";

//echo $_SESSION['user_shell'];

$arr = user_shell($_SESSION['uid'] , $_SESSION['user_shell'], 4);

echo $_SESSION['times']."
";

echo mktime();

echo "使用者名稱:".$arr['username']."
";

echo "密碼:".$arr['password']."
";

echo "m_id:".$arr['m_id']."
";

user_mktime($_SESSION['times']);

?>

許可權內容

7

至此,我們的一個簡單的會員系統就開發完成。圖:

至此,會員登入系統設計完畢

end,練習一下

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.