• 技术文章 >后端开发 >php教程

    【php】登录系统与输出浏览者信息

    2016-06-23 13:43:30原创354
    登录系统是懂得操作数据库之后,

    再了解一下对session如何操作之后

    就应该懂得如何做出来的系统

    本系统,与之前在《【ASP】连接Access数据库的登陆系统》(点击打开链接)一文中的asp登录系统的思想完全一样,

    只是编程语言从asp变成了php,数据库从Access变成了mysql


    一、基本目标

    首先在mysql存在着如下的用户信息表:


    在页面中有一个登录表单,上面需要用户填写用户名与密码等信息

    如果用户输入的用户名在用户信息表里面根本就没有,那么则弹出“查无此人”的对话框,并返回本页


    如果用户输入的密码错误,那么则弹出“密码错误”的对话框,并返回本页


    如果用户输入的登录信息正确,那么则跳到“登录成功”的页面,并输出用户当前的IP、使用的系统的语言环境、与浏览器信息


    “登录成功”的页面是被保护的,浏览器并不可以通过在浏览器中输入地址的方式,绕开输入密码的页面,直接访问“登录成功”页面



    二、基本思想


    用户输入用户名与密码的那一页用静态页面,只要其表单指向登录判断页login.php就可以了。

    welcome.php是用户成功登录的页面,

    exit.php用来销毁session。

    session就是用来存放用户名与密码的浏览器全局变量。


    三、制作过程

    (1)login.html

    没什么好说的,就一个登录表单,见如下代码:

    登录页面
    
    用户名:
    密码:

    (2)exit.php

    销毁session页面,并且在销毁session之后,把页面打回login.html

    只得注意的是,在php一旦需要使用session,就应该在所有代码的第一行使用session_start();系统函数,否则可能会出错

    登出页面
    

    (3)login.php

    登录判断页面,还是经典的登录三段论,

    首先接收login.html传递过来的username与password,查询用户信息表中是否有这个username,

    如果没有,再登录失败,如果有,再同时判断传过来的、用户输入的password是否等于这个username在数据库中对应的dbpassword,

    如果是,登录成功,并把username存入session,传递给登录成功页面,否则登录失败。

    本页面还用到了系统内置函数is_null判断查询结果是否为空,

    如果数据库查询结果为空,根本就不会有值赋予给新定义的dbusername,这个dbusername依旧为空

    同时,如果登录成功之后,还要使用mt_rand(0,100000);在0~100000中产生一个保护登录成功页面的随机数code。

    并且做完一切判断之后,记得在最后加入一条关闭数据库的语句,人走带门。

    登陆中……
    

    (4)welcome.php

    在welcome.php成功登录页面中,先要用isset来判断是否有login.php传递过来的code,

    这里的isset与上面is_null的区别,isset是判断有没有这个变量,is_null是在有这个变量的前提下,判断这个变量是否为null,

    如果没有code这个session则说明用户非正常途径登录的,马上扔到exit.php再见走人

    如果是正常登录,则通过server对象里面的各个小对象输出用户信息。

    欢迎登录
    
    欢迎登录!
    你的IP:
    你的系统语言:
    你的浏览器为:
    退出登录

    至此,整个登录系统开发完成。
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:curl获取xml数据的问题 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 深入了解PHP:用gdb调试源码• 实例介绍:使用Docker快速搭建多版本PHP开发环境• 实例详解PHP统计代码行数及文件数量的方法• PHP常用开发工具分析_PHP教程• ZEND将与IBM合作开发PHP IDE/Framework_PHP教程
    1/1

    PHP中文网