编号@9527
2018-03-16 03:19
采纳率: 80%
浏览 1.1k
已采纳

php注册登录后台无响应,

php代码:
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
//创建连接
$conn = mysqli_connect($servername,$username,$password);
if ($conn) {
// $conn->query("SET NAMES 'UTF8'");
mysqli_select_db($conn,$dbname);
$sql = "select user_id,user_pass FROM user where user_id = '$_POST[username]' and user_pass='$_POST[password]'";

    $result = mysqli_query($conn,$sql);


    // $rows=mysqli_num_rows($result);

    $arr = array();

    // var_dump($rows);
    if($result){
       $arr['result'] = 1 ;
       $arr['data'] = '登陆成功';
       exit;
    }else{
           $arr['result'] = 0;
           $arr['data'] = '用户名或密码不正确';
           exit;
         }

    // echo $result-> fetch_object() -> memTotal;
    echo json_encode($arr);
}
 $conn->close();

    ajax代码:
      mui.ajax('http://127.0.0.1/electrombile/index.php',{
                data:{
                    username:username.value,
                    password:password.value
                },
                dataType:'jsonp',               ![图片说明](https://img-ask.csdn.net/upload/201803/16/1521170353_498205.png)
                type:'POST',
                timeout:10000,
                success:function(data){
                    //{"reslut":1}

                // var data=eval("("+data+")");
                    console.log(data);
                    if(data.result == 1){
                        //登录成功
                       alert("登录成功");
                        mui.openWindow({
                            url:'mainShow.html',
                            id:'mainShow'
                        })
                    }else{
                        //登录失败
                        alert("登陆失败");  
                    }
                },
                error:function(){
                    alert("请求异常");
                }
            })
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

12条回答 默认 最新

  • first236108 2018-03-16 06:20
    已采纳

    @u014358056,在双引号里面的单引号内,变量是会解析的。@qq_35318529 楼上回答exit是正确的,你把exit去掉,它是直接退出程序中止运行的,另外即然else了,也不需要再跳出if,这样即是输错密码,也会返回mui前端result=0

    已采纳该答案
    打赏 评论
  • 编号@9527 2018-03-16 03:33

    哪里错了?我还写了log日差查看了一下 sql确实是取到前台的数据了啊

    打赏 评论
  • 听楼一夜雨 2018-03-16 03:47

    你中间exit结束了呀,执行中断了吧

    打赏 评论
  • 林子懿 2018-03-16 03:51

    变量错了,SQL打印一下 肯定是错的,变量应该区分

    打赏 评论
  • 东方新希望 2018-03-16 05:02

    是不是没设置默认主页

    打赏 评论
  • 编号@9527 2018-03-16 05:54

    不是的,我也不知道什么情况,,前面的代码又可以用了,我写了个log日志测试了一下,arr的值也可以取到 了,= = 很尴尬啊
    VM29:1 Uncaught SyntaxError: Unexpected token < 错误提示也消失了 ,我就登陆进去了

    打赏 评论
  • u014358056 2018-03-16 06:01

    $sql = "select user_id,user_pass FROM user where user_id = '$_POST[username]' and user_pass='$_POST[password]'"; 这样sql是不对的吧,单引号内的变量是不会解析的

    打赏 评论
  • u010241981 2018-03-16 06:36

    我也觉得应该是,你if语句中exit()错了。exit()是跳出程序的意思,也就是执行到exit(),则exit()后面的程序都不会被执行
    (也就是你的这条语句“echo json_encode($arr); 根本就没有执行,ajax也就没有返回值了!!!”)。其实在你这个if语句中没有必要用exit(),你把两个exit()去掉试试。

    打赏 评论
  • ranran_sun 2018-03-16 06:56

    应该是你if语句中exit()错了

    打赏 评论
  • weixin_38822629 2018-03-16 08:27

    if语句中exit()错了

    打赏 评论
  • 孤独是一种态度丶 2018-03-16 09:18

    $sql = "select user_id,user_pass FROM user where user_id = ' {$_POST[username] }' and user_pass=' {$_POST[password] }' ";

    打赏 评论
  • DSPCYY 2018-03-17 04:56

    if($result){
    $arr['result'] = 1 ;
    $arr['data'] = '登陆成功';
    exit;
    }else{
    $arr['result'] = 0;
    $arr['data'] = '用户名或密码不正确';
    exit;
    }

                以上代码中的exit是什么动机,exit这个语句会中中止PHP脚本的执行,这样一来“  echo json_encode($arr);”该语句永远得不到执行的机会。
                这样页面上就会是空空如也。
    
                ![图片说明](https://img-ask.csdn.net/upload/201803/17/1521262562_211516.jpg)
    
    打赏 评论

相关推荐 更多相似问题