php登录注册接口

了解JSON

JSON 指的是 JavaScript 对象表示法(JavaScript Object Notation)
JSON 是轻量级的文本数据交换格式
JSON 独立于语言
JSON 具有自我描述性,更易理解

JSON 是存储和交换文本信息的语法。类似 XML。

JSON 比 XML 更、更,更易解析

格式转化

学习了php的基本语法的你们肯定知道数组Array这个基本数据啦,因为我们前端显示出的数据库数据一般由数组表示的,那么基本数据数组和JSON之间要怎么转换呢?

json_encode():将基本数据数组转换为json格式
json_deconde():将json格式转化为基本数据数组格式

ps:从后台返回数据(echo $json)到前台,获得数据时候,
一般同学都是选择用eval()函数来进行格式转化,
考虑到对项目安全性问题,小编个人建议大家少用,
而选择用getJSON()函数。它具有相同的功能,而且安全性要强一些。

常见的json格式:

image.png

json四原则:

“:”:数据在名称/值对中
“,”:数据由逗号分隔
“{ }”:花括号保存对象
“[ ]”:方括号保存数组

写php接口

个人写接口的时间不长,从网上资料及视频教程中得出经验:写简单接口,就相当写MVC中的MC,只写逻辑代码层,把功能用函数封装起来,到时候include,直接调用就好了。

php接口知识

<?php
    interface People{
        public function say();
        public function dance();
    }

    interface Animal{
        public function bite();
    }

    class Man implements People{
        public function say(){
            echo 'i can say';
        }    

        public function dance(){
            echo 'i can dance';
        }
    }

    class Woman implements People{
        public function say(){
            echo 'i can say girl voice';
        }    

        public function dance(){
            echo 'i can dance like a goose';
        }
    }


    class Bird implements Animal{
        public function bite(){
            echo 'i can bite';
        }
    }

    class Hybreed implements People,Animal{
        public function say(){
            echo 'i can say';
        }

        public function dance(){
            echo 'i can dance';
        }

        public function bite(){
            echo 'i can bite';
        }
    }

    $hybreed = new Hybreed;
    echo $hybreed->say()."\r\n";
    echo $hybreed->dance()."\r\n";
    echo $hybreed->bite()."\r\n";

接口存在的意义就是实现“多重继承”,准确的来说应该就做“多重实现“,因为一个php类只能有一个父类,而一个类却可以实现多个接口,就像大一学C++时,上面代码interface.php中的Hybreed类,即实现了people接口,又实现了Animal接口,而通过这种多重继承,最终的$hybreed即获得了人类的say和dance的方法,又获得了动物的bite方法。而Man类和Woman类分别实现People的接口,采用不同的内容去重写了say和dance方法,正是一种多态的体现。

登录注册api接口实例

<?php (如遇手机显示不全,可右滑)

    //数据库连接部分--开始
    $mysql_server_name="localhost"; //数据库服务器名称
    $mysql_username="root"; // 连接数据库用户名
    $mysql_password=""; // 连接数据库密码
    $mysql_database="hello"; // 数据库的名字
    
     // 连接到数据库
    $conn=mysql_connect($mysql_server_name, $mysql_username,$mysql_password);
    if(!$conn) {
        echo "数据库连接失败!".mysql_error;
    }
    mysql_select_db($mysql_database, $conn);
    //数据库部分--结束

    /* 登录、注册、修改个人信息、显示用户接口‘菜单’代码--开始*/

    //获取url参数
    $action = isset($_POST['action']) ? $_POST['action'] : '';
    $name = isset($_POST['name']) ? $_POST['name'] : '';
    $psd = isset($_POST['psd']) ? $_POST['psd'] : '';
    
    if($action=='login') {
        login($name, $psd, true);
    } else if($action=='register') {
        register($name, $psd);
    } else if($action=='modifyPsd') {
        modifyPsd($name, $psd);
    } else if($action=='showAll') {
        showAll();
    } else {
        $result = array("result"=>"error_request");//返回一个错误提示
        $json = json_encode($result);
        echo $json;
    
    close_conn();
    /*‘菜单’代码--结束*/

    /*用户登录*/
    function login($name, $psd, $normal) {
        global $conn;
        if($conn) {
            $result = mysql_query("select name,psd from student");
            $success = false;
            while($row = mysql_fetch_array($result)) {
                if($name == $row['name'] && $psd == $row['psd']) {
                    $success = true;
                }
            }
            if($normal) {
                $login_result = array('login_result'=>$success);
                $json = json_encode($login_result);
                echo $json;
            }
        }
        return $success;
    }
    
    /*用户注册*/
    function register($name, $psd) {
        $tel = $_POST['tel'];       
        global $conn;
        
        if($conn) {
            //数据库查询
            $result = mysql_query("select name from student");
            $exist = false;
            while($row = mysql_fetch_array($result)) {
                if($name == $row['name']) {
                    //注册失败,用户名已存在;
                    $exist = true;
                    $register_result = array("register_result"=>false,"error_code"=>0);
                    $json = json_encode($register_result);
                    echo $json;
                }
            }
            //插入数据库         
            if(!$exist) {
                $id = mysql_num_rows($result) + 1;
                $success = mysql_query("insert into student values('$id', '$name', '$tel', '$psd')");
                if($success) {
                    //注册成功
                    $register_result = array("register_result"=>$success);
                    $json = json_encode($register_result);
                    echo $json;
                } else {
                    //注册失败,数据库插入错误
                    $register_result = array("register_result"=>$success,"error_code"=>1);
                    $json = json_encode($register_result);
                    echo $json;
                }
            }           
        }
    }
    
    /*修改登录密码*/
    function modifyPsd($name, $psd) {
        $newpsd = $_POST['newpsd'];
        global $conn;
        
        if($conn) {
            //用户登录
            $login_result = login($name, $psd, false);
            //修改密码
            if($login_result) {
                $success = mysql_query("update student set psd='$newpsd' where name='$name'");
                if($success) {
                    //修改成功
                    $modify_result = array("modify_result"=>$success);
                    $json = json_encode($modify_result);
                    echo $json;
                } else {
                    //修改失败,数据库错误
                    $modify_result = array("modify_result"=>$success,"error_code"=>1);
                    $json = json_encode($modify_result);
                    echo $json;
                }
            } else {
                    //修改失败,登录失败
                    $modify_result = array("modify_result"=>false,"error_code"=>2);
                    $json = json_encode($modify_result);
                    echo $json;
            }
        }
    }
    
    //显示所有用户
    function showAll() {
        global $conn;
        if($conn) {
            $result = mysql_query("select * from student");
            $success = false;
            $array_data = array();

            $total = mysql_num_rows($result);
            //$data = array("total"=>$total,"datas"=>array(array("data"=>"123","name"=>"zhugeheng"),
            //                                                                                   array("data"=>"456","name"=>"zhaodanni")
            //                                                                      ));                                         
            while($row = mysql_fetch_array($result)) {
                $array_temp = array("name"=>$row['name'], "tel"=>$row['tel']);
                array_push($array_data, $array_temp);
            }
            $data = array("total"=>$total,"datas"=>$array_data, "result"=>true);            
            $json = json_encode($data);
            echo $json;
        
        }
    }
    
    //关闭连接
    function close_conn() {
        global $conn;
        mysql_close($conn);
    }
      尊重原创,转载请注明出处:[http://blog.csdn.net/zhugehengheng/article/details/44645287](http://blog.csdn.net/zhugehengheng/article/details/44645287)**

?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,338评论 19 139
  • 介绍 a library for composing asynchronous and event-based p...
    王培921223阅读 458评论 0 0
  • 这一天和以往并没有很明显的区别。 但当太阳的光辉落下的最后一刹那,总能感觉到有些东西不同了。 总是很喜欢看离经叛道...
    shorpsword阅读 133评论 0 1
  • 花开的时候 听见你轻叹息 韶华易逝 今日是明日殇的序曲 花落的时候 听见你轻叹息 容颜已老 微风是带我离去的翅膀
    南方的茶阅读 223评论 0 2
  • 你用Ruby干什么?你是如何参与Ruby社区的? Dave:在过去的8年中,我用Ruby做所有的事!我们整个的线上...
    飞将军阅读 3,941评论 1 5

友情链接更多精彩内容