Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/242.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:函数返回值如何';不可读_Php_Jquery_Authentication - Fatal编程技术网

PHP:函数返回值如何';不可读

PHP:函数返回值如何';不可读,php,jquery,authentication,Php,Jquery,Authentication,我想使用模式引导、PHP和jQuery创建登录系统,单击登录按钮后,我会显示此模式: <div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true"> <div c

我想使用模式引导、PHP和jQuery创建登录系统,单击登录按钮后,我会显示此模式:

<div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalCenterTitle" aria-hidden="true">
  <div class="modal-dialog modal-dialog-centered" role="document">
    <div class="modal-content">
      <div class="modal-header">
        <h5 class="modal-title" id="exampleModalCenterTitle">Login Page</h5>
        <button type="button" class="close" data-dismiss="modal" aria-label="Close">
          <span aria-hidden="true">&times;</span>
        </button>
      </div>
      <div class="modal-body">
            <div class="form-group">
                <label for="exampleInputEmail1">Username</label>
                <input type="text" name='username' class="form-control" id="username">
            
            </div>
            <div class="form-group">
                <label for="exampleInputPassword1">Password</label>
                <input type="password" name='password' class="form-control" id="password">
            </div>
            <div class="form-group form-check">
                <input name='remember' type="checkbox" class="form-check-input" id="remember">
                <label class="form-check-label" for="exampleCheck1">Remember me</label>
            </div>
            <button type="button" name='login' id='login' class="btn btn-primary mr-auto">Login</button>
      </div>
    </div>
  </div>
</div>
并且login.php页面代码为:

<?php
include_once('../includes/functions.php');
    //login
if(isset($_POST['login'])){    
    $username = $_POST['username'];
    $password = $_POST['password'];
    $remember = $_POST['remember'];    
    $message=login($username ,$password); /// the error is here   
    if($message=='logined successfully' && $remember =='on'){
        $domain = ($_SERVER['HTTP_HOST'] != 'localhost:3308') ? $_SERVER['HTTP_HOST'] : false;
        setcookie("username",$username,time()+31556926, '/', $domain, false );
    } elseif($message=='logined successfully' && $remember !='on') {
        session_start();
        $_SESSION['MM_Username'] = $username;            
    }
}
echo $message;
// end of login
?>

JavaScript是:

<script>
$(document).ready(function(){
    $('#login').click(function(){
        var username =$('#username').val();
        var password =$('#password').val();
        if(document.getElementById("remember").checked==true){
            var remember ='on';
        } else {
            var remember ='off';
        }           
        if(username!='' && password!=''){
            console.log(remember);
            $.ajax({
                url:'login.php',
                method : 'POST',
                data :{username:username,password:password,remember:remember},
                success:function(data){
                    if(data =='logined successfully'){
                        console.log(data);
                        $('#loginModal').hide();
                        location.reload();                          
                    } else {
                        console.log(data);
                        $('#loginModal').hide();
                        alert(data);                                
                    }
                }
            });
        } else {
            alert('Both username and password required!');
        }
    })
})
</script>

$(文档).ready(函数(){
$('#login')。单击(函数(){
var username=$('#username').val();
var password=$('#password').val();
if(document.getElementById(“记住”).checked==true){
var='on';
}否则{
var记住class='off';
}           
如果(用户名!=''&&密码!=''){
console.log(记住);
$.ajax({
url:'login.php',
方法:“POST”,
数据:{用户名:用户名,密码:密码,记住:记住},
成功:功能(数据){
如果(数据==‘已成功登录’){
控制台日志(数据);
$('#loginModal').hide();
location.reload();
}否则{
控制台日志(数据);
$('#loginModal').hide();
警报(数据);
}
}
});
}否则{
警报('需要用户名和密码!');
}
})
})
当我在控制台上记录数据值时,它告诉我来自login.php的消息变量未定义,我不知道我的错误在哪里

您在第4行的posts变量中使用“login”索引,但在jQuery ajax中,您不会在请求中传递任何登录数据

所以,在php文件中完成这个过程之后,并没有$message变量用于回送,并且您的请求返回为空

将其用作jQuery ajax中的数据(我的建议):

或者在php文件中使用此选项,而不是“isset($\u POST['login'])”:


只需从login()函数返回true/false,然后设置消息,重构它。logined不是一个单词,但在登录函数中,我有三条不同的消息要显示。然后返回一个数组
['status'=>true,'message'=>'logined successfully']
,但您确实想检查true或false,而不是string。您还可以从函数中抛出一个异常并捕获它,然后可以设置任何消息请不要使用自己的密码哈希,特别是不要使用
MD5()
SHA1()
。为了用户的安全,PHP提供并请使用它们。非常感谢,问题是我首先在index.PHP中创建了login.PHP,因此我使用了“isset($\u POST['login']),在我将其移动到单独的文件后,我忘了删除这一行,我只是删除了它并解决了它
<script>
$(document).ready(function(){
    $('#login').click(function(){
        var username =$('#username').val();
        var password =$('#password').val();
        if(document.getElementById("remember").checked==true){
            var remember ='on';
        } else {
            var remember ='off';
        }           
        if(username!='' && password!=''){
            console.log(remember);
            $.ajax({
                url:'login.php',
                method : 'POST',
                data :{username:username,password:password,remember:remember},
                success:function(data){
                    if(data =='logined successfully'){
                        console.log(data);
                        $('#loginModal').hide();
                        location.reload();                          
                    } else {
                        console.log(data);
                        $('#loginModal').hide();
                        alert(data);                                
                    }
                }
            });
        } else {
            alert('Both username and password required!');
        }
    })
})
</script>
data: { login: 1, username: username, password: password, remember: remember },
if(isset($_SERVER['REQUEST_SCHEME']) AND $_SERVER['REQUEST_SCHEME'] == 'POST'){