php教程自学网 - 轻松零基础学php视频教程
条幅广告
当前位置: 主页 > 原生PHP >

原生php登陆注册

时间:2018-08-22 19:02来源:未知 作者:admin 点击:
本以为一个登陆注册功能十来分钟就写好了,没想到thinkPHP用久了,原生的php不会写了 最开始我直接写了类和方法,在前台传递参数给类的login方法(action=index.php/login),尝试几次发现无
本以为一个登陆注册功能十来分钟就写好了,没想到thinkPHP用久了,原生的php不会写了
 
最开始我直接写了类和方法,在前台传递参数给类的login方法(action="index.php/login"),尝试几次发现无法访问,这才意识到,这种方式是mvc模式,原生php不具有
 
然后,把登陆注册的php代码没有写类和方法直接放到对应的php文件里,前端放在相应的HTML文件里(还是习惯HTML 和php分开来写)
 
这时候action直接填对应的文件就好了,具体代码如下
 
 
 
login.php
 
 
 
<?php
        $un = $_POST['username'];
        $pd = $_POST['password'];
        $mysqli = new mysqli('localhost', 'root', '', 'java');
        $result = $mysqli->query("SELECT password FROM user WHERE username = "."'$un'");//第一个容易出错的地方
        $rs=$result->fetch_row();//第二个容易出错的地方
        if ($rs!==null) {
            if ($pd != $rs[0]) {
                $arr = array('status' => 2, 'b' => '密码错误');
                echo json_encode($arr);
                                }
            else {
                $arr = array('status' => 1, 'b' => 'success');
                echo json_encode($arr);
                  }
                        }
            else{
                $arr = array('status' => 0, 'b' => '没有此用户');
                echo json_encode($arr);
                }
?>
 
 
 
register.php
 
 
 
<?php
        $un = $_POST['username'];
        $pd = $_POST['password'];
        $pd2 = $_POST['password2'];
        $mysqli = new mysqli('localhost', 'root', '', 'java');
        $result = $mysqli->query("SELECT password FROM user WHERE username = "."'$un'");
        $rs=$result->fetch_row();
        if ($pd != $pd2) {
            $arr = array('status' => 2, 'b' => '两次输入密码不一致');
            echo json_encode($arr);
                         }
        elseif($rs!=null){
            $arr = array('status' => 3, 'b' => '用户已存在');
            echo json_encode($arr);
                            }
        else {
            $mysqli = new mysqli('localhost', 'root', '', 'java');
            $sql = "INSERT INTO user (username,password) VALUES ('$_POST[username]', '$_POST[password]')";
            $rs = $mysqli->query($sql);
            if (!$rs) {
                $arr = array('status' => 0, 'b' => 'falied');//插入失败
                echo json_encode($arr);
                      }
            else {
                $arr = array('status' => 1, 'b' => 'success');//插入成功
                echo json_encode($arr);
                 }
             }
?>
 
第一处容易出错的地方  因为传入的un变量替换成字符串之后也是要加引号,所以应该加两个
 
第二处   要熟悉连接数据库的面向对象的各种输出函数的用法,mysqli->query返回的是一个对象
 
对于数据库处理这一部分  看的太不仔细了,一定要在看一遍,跟着敲一遍
(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
相关推荐