美文网首页
PHP笔记6用户登陆与分页原理

PHP笔记6用户登陆与分页原理

作者: 8d2855a6c5d0 | 来源:发表于2017-07-04 16:12 被阅读0次

    PHP操作MySQL

    (1)PHP连接数据库

    (2)选择要操作的数据库名称

    (3)设置字符集

    (4)执行各种SQL语句

    • 查询SQL语句:mysql_query(“SELECT * FROM 007_news WHERE id<100”)
    • 删除SQL语句:mysql_query(“DELETE FROM 007_news WHERE id=100”)
    • 更新SQL语句:mysql_query(“UPDATE 007_news SET hits = hits+1 WHERE id = 100”)
    • 插入SQL语句:mysql_query(“INSERT INTO 007_news(title,content) VALUES(‘标题’ , ‘内容’)”)

    (5)从结果集中读取一条数据

    • mysql_fetch_row($result):从结果集读取一条数据,以枚举数组返回。
    • mysql_fetch_array($result,MYSQL_BOTH):从结果集读取一条数据,以混合数组返回。
    • mysql_fetch_assoc($result):从结果集读取一条数据,以关联数组返回。

    用户登录模块

    1、管理员数据表——007_admin


    username:用户名称
    password:用户密码,是加过密的。
    name:真实姓名
    tel:联系电话
    lastloginip:最后登录的IP地址
    lastlogintime:最登录的时间。
    loginhits:登录的总次数
    status:账号状态,1启用,0停用。
    addate:账号创建日期

    2、登录流程图

    3、登录主要代码

    //***************************用户登录检查**************************
    //连接MySQL数据库
    include "conn.php";
    //判断表单是否提交
    if(isset($_POST["ac"]) && $_POST["ac"]=="login")
    {
        //获取表单提交数据
        $username = $_POST["username"];
        $password = md5($_POST["password"]);
        //构建要查询的SQL语句
        $sql = "SELECT * FROM 007_admin WHERE username='$username' and password='$password'";
        //执行SQL语句
        $result = mysql_query($sql);
        //获取结果集中的记录条数
        $records = mysql_num_rows($result);
        //判断是否找到匹配
        if($records)
        {
            //如果找到匹配
            //获取相关变量信息
            $lastloginip = $_SERVER["REMOTE_ADDR"];
            $lastlogintime = time();
            //构建更新的SQL语句
            $sql = "UPDATE 007_admin SET lastloginip='$lastloginip',lastlogintime=$lastlogintime,loginhits=loginhits+1 WHERE username='$username'";
            //执行SQL语句
            mysql_query($sql);
            //跳转到成功页面
            $url = "manage.php";
            $message = urlencode("用户登录成功!");
            header("location:success.php?url=$url&message=$message");
        }else
        {
            //如果没有找到匹配
            $message = urlencode("用户名或密码不正确!");
            header("location:error.php?message=$message");
        }
    }else
    {
        //如果非法操作
        $message = urlencode("非法操作");
        header("location:error.php?message=$message");
    }
    ?>
    

    新闻模块

    1、数据表
    DEDECMS、帝国CMS、discuz!、ecshop

    cat新闻类型
    title新闻标题
    author发布人员
    source来源
    keywords:网页关键字
    description:网页描述
    orderby:排序
    content:内容
    hits:单击率
    addate:发布时间

    2、文件结构

    3、显示新闻内容

    4、添加新闻

    5、修改新闻
    (1)先读取指定id的数据,并写入对应的表单输入框中。
    (2)照着原数据进行修改,然后单击提交表单。

    //***********************修改新闻****************************
    //连接MySQL数据库
    include "conn.php";
    //判断表单是否提交
    if(isset($_POST["ac"]) && $_POST["ac"]=="edit")
    {
        //获取表单提交数据
        $cat        = $_POST["cat"];
        $title      = $_POST["title"];
        $author     = $_POST["author"];
        $source     = $_POST["source"];
        $orderby    = $_POST["orderby"];
        $keywords   = $_POST["keywords"];
        $description= $_POST["description"];
        $content    = $_POST["content"];
        $id         = $_POST["id"];
        //构建修改的SQL语句
        $sql = "UPDATE 007_news SET cat=$cat,title='$title',author='$author',source='$source',orderby=$orderby,keywords='$keywords',description='$description',content='$content' WHERE id=$id";
        //执行SQL语句
        if(mysql_query($sql))
        {
            //如果执行成功,则跳转到success.php页面
            $url = "manage.php";
            $message = urlencode("记录修改成功!");
            echo "<script>location.href='success.php?url=$url&message=$message'</script>";
            exit();
        }
    }else
    {
        //获取地址栏传递的id
        $id = $_GET["id"];
        //构建查询SQL语句
        $sql = "SELECT * FROM 007_news WHERE id=$id";
        //执行SQL语句
        $result = mysql_query($sql);
        //取出一条记录
        $arr = mysql_fetch_assoc($result);
    }
    

    6、分页原理

    在线HTML编辑器:kindeditor、FCKeditor

    将editor文件直接“复制”到day21目录即可。
    在需要的编辑器的页面,引入如下文件:

    <script charset="utf-8" src="js/editor/kindeditor-min.js"></script>
    <script charset="utf-8" src="js/editor/lang/zh_CN.js"></script>
    <script>
    //加入在线编辑器
    var editor;
    KindEditor.ready(function(K) {
        //在当前网页中,查找<textarea name = ‘content’></textarea>,并替换成kindeditor编辑器。
    editor = K.create('textarea[name="content"]', {
            allowFileManager : true   //是否允许上传文件
        });
    });
    </script>
    <textarea id="content" name="content" style="width:100%;height:300px; "></textarea>
    

    PHP函数补充

    md5()

    • 描述:计算字符串的 MD5 散列值
    • 语法:string md5 ( string $str )
    • 说明:以 32 字符十六进制数字形式返回散列值。
    • 注意:md5的加密算法不再安全了。
    • 举例:md5(“123456”) = e10adc3949ba59abbe56e057f20f883e

    mysql_num_rows()

    • 描述:获取结果集中的记录条数。
    • 语法:int mysql_num_rows ( resource $result )
    • 说明:此命令仅对 SELECT 语句有效

    **$_SERVER **

    • 描述:获取服务器执行环境信息。
    • $_SERVER[“REMOTE_ADDR”] //客户端的IP地址
    • $_SERVER[“SERVER_ADDR”] //服务器端的IP地址

    相关文章

      网友评论

          本文标题:PHP笔记6用户登陆与分页原理

          本文链接:https://www.haomeiwen.com/subject/pitzcxtx.html