文章出處

這次熱身是一個會員管理系統,包括會員注冊、登錄、資料修改功能,使用ajax技術

1.建表

use common_module;
create table if not exists member(
user_id int auto_increment primary key,
email varchar(60) comment '會員郵箱',
user_name varchar(60) comment '用戶名',
password varchar(32) comment '密碼',
question varchar(255) comment '找回密碼問題',
answer varchar(255) comment '問題答案',
sex tinyint(1) comment '性別 1男 2女',
reg_time date comment '注冊時間',
birthday date comment '出生年月日',
last_login date coment '最后一次登錄時間',
last_ip varchar(15) comment '最后一次登錄IP',
visit_count smallint(5) comment '登錄次數',
parent_id mediumint(9) comment '推薦人id',
nickname varchar(60) comment '昵稱',
address varchar(60) comment '地址',
phone varchar(20) comment '手機號',
is_adm smallint(6) comment '管理權限'
)CHARSET=utf8;

2.數據庫連接類
書上沒用PDO。但是pdo的封裝,因為pdo函數用的不多,沒啥經驗,就先放放,只搞一個fetchAll好了。

3.引入公共包含文件
建一個inc.php,里面包含了所有要包含的文件,以及數據庫連接實例和模版實例,以后只要引入它就行了,百寶箱的感覺。

4.ajax
稍微仔細寫一下。
在html或者模版頁中,引入js文件。js文件里面定義了一些事件處理函數,比如某文本框失去焦點后發起ajax請求,得到結果后在html或者模版頁上進行顯示,比如提示用戶名已經注冊等。
其中ajax的請求,需要指定url,也就對應到了后臺的php文件上。
js文件中函數的編寫,可以使用jquery。

網上找到一個很簡單的例子:
check.html中進行用戶名注冊,當文本框失去焦點后,引入的check.js里的代碼被執行,向check.php發起請求,得到結果后將check.html中的標簽的屬性進行修改或增加(提示用戶名已經注冊或未注冊)
這個例子并沒有自行編寫ajax發送請求的底層函數,而是通過使用jquery,jquery自帶了ajax功能。

jQuery還不怎么會用,例子中用到的幾個函數:
ready()函數:在DOM加載后執行
$.post(url, data, callback_function()):發起ajax的POST請求,傳入數據為data,回調函數為callback_function()。e.g. 在回調函數中進行ajax查詢結果的后續處理。

好了,ajax流程講清楚了,落實到細節上就可以了。當然其中少不了check.php中連接到數據庫進行查詢與判斷:

<?php
/**
 * Created by PhpStorm.
 * User: Chris
 * Date: 2016/5/15
 * Time: 11:01
 */

session_start();
include('inc.php');
//demo來自天涯PHP博客 http://blog.phpha.com
if(_post('name')){
    $username = _post('name');
    $sql = "select * from member where user_name=?";
    $args = array($username);
    $result=$db->fetchAll($sql, $args);
    if(sizeof($result)){ //找到了
        exit('1');
    }
    exit('0');
}else if(_post('email')){
    $email = _post('email');
    $sql = "select * from member where email=?";
    $args = array($email);
    $result=$db->fetchAll($sql, $args);
    if(sizeof($result)){ //找到了
        exit('1');
    }
    exit('0');
}
?>

5.注冊、登錄、修改、查看
和前面一個例子相比,多了session的管理。登錄后需要把用戶的信息賦值給session,這樣在頁面之間跳轉的時候就可以進行驗證判斷了。

6.管理員模塊
書上和作者給出的代碼中沒有進行真正的權限管理處理,不過一個簡單的辦法,就是當用戶登錄后,會將信息賦值給session,那么是否是管理員只需要通過session就可以判斷了,那么只要session中管理員項驗證通過就可以進入管理員模塊了。

7.下載鏈接
http://pan.baidu.com/s/1hsoA6QK


文章列表


不含病毒。www.avast.com
全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()