zoukankan      html  css  js  c++  java
  • php热身2:CRUD with Ajax

    这次热身是一个会员管理系统,包括会员注册、登录、资料修改功能,使用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

  • 相关阅读:
    Consul常用命令
    ECharts 避免变窄
    TP3.2 日期默认格式
    新订单提示效果
    php 按照字典序排序 微信卡券签名算法用到
    td宽度自适应 窄的地方自动收缩
    git 删除本地分支,删除远程分支
    分页Model
    chrome表单自动填充如何取消
    tp3.2 如何比较两个字段
  • 原文地址:https://www.cnblogs.com/zjutzz/p/5496151.html
Copyright © 2011-2022 走看看