• 技术文章 >php教程 >PHP源码

    php 账号互联

    PHP中文网PHP中文网2016-05-23 16:38:57原创678
    很简单的账号互联,留给需要的人吧。

    <?php
    /*
    本页面做的匆忙(2015年9月23日19:45:30),注意修改一些代码再使用,避免出现安全隐患。
    使用方法,向本页POST数据,分别为sign(用户名或邮箱)和password
    本页会返回Json,成功登陆会返回一些用户信息,code每个状态会不同
    code为0时 POST数据不完整
    code为1时 账户不存在
    code为2时 用户名或密码错误
    code为3时 成功登陆,并附带相关用户信息
     */
    @$sign=addslashes($_POST['sign']);
    @$password=addslashes($_POST['password']);
    $status=array();
    if($sign==null||$password==null){
        $status['code']=0;
        echo json_encode($status);
        exit();
    }
    // =====相关配置======
    $db_server='localhost'; //Mysql地址
    $db_name='db'; //Mysql数据库名
    $db_user='root'; //Mysql用户名
    $db_password=''; //MySQL密码
    $db_port=3306;//Mysql端口,通常不需要修改
    $login_table='user'; //用户表表名
    $login_sign='name'; //用户表用户名或邮箱字段 意思就是用户名登陆或者邮箱登陆
    $login_password='password'; //用户表密码字段
    //另外58行还有一个密码加密方式需要自定义下
    class mysql extends PDO{
        public $server;
        public $database;
        public $user;
        public $password;
        public $sql;
        public function __construct($server,$database,$user,$password,$port=3306){
            $this->server = $server;
            $this->database = $database;
            $this->user = $user;
            $this->password = $password;
            parent::__construct("mysql:host=$server;port=$port;dbname=$database",$user,$password);
            $this->query('SET NAMES utf8');
        }
        public function fetchall($sql){
            $return = array();
            $re = $this->query($sql);
            while($row = $re->fetch(PDO::FETCH_ASSOC)){
                array_push($return,$row);
            }
            return $return;
        }
    }
    $DB= new mysql($db_server,$db_name,$db_user,$db_password,$db_port);
    $res=$DB->fetchall('select * from '.$login_table.' where '.$login_sign.'="'.$sign.'"');
    if(count($res)==0){
        $status['code']=1;
        echo json_encode($status);
        exit();
    }
    $encode_pwd=md5($password); //这里修改你密码的加密方式
    if($encode_pwd!=$res[0][$login_password]){
        $status['code']=2;
        echo json_encode($status);
        exit();
    }
    unset($res[0][$login_password]);
    $res[0]['code']==3;
    echo json_encode($res);
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:php ,账号互联
    上一篇:通过身份证号获取属相、星座、性别 下一篇:通过PHP脚本自动部署GIT项目
    PHP编程就业班

    相关文章推荐

    • 剖析PHP中的输出缓冲 flush之类• php截取中文字符串不乱码的方法_php实例• php 多种无限分类实例• PHP删除非空目录函数• 动态网页制作PHP常用的正则表达式

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网