Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.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
将ajax数据导入php文件_Php_Ajax - Fatal编程技术网

将ajax数据导入php文件

将ajax数据导入php文件,php,ajax,Php,Ajax,我正在尝试用ajax和php构建一个登录系统。我使用一个日志视图,然后将数据保存在ajax中,并将其放入doLogin.php(php文件)中。我的问题是,当我将php文件构建到类和函数中时,它不应该是任何ajax数据 视图: 公共函数DoLoginBox(){ //在登录表单标签中。。。 返回' 登录表单 用户名: 密码: '; } 阿贾克斯: $(文档).ready(函数(){ $(“#登录”)。单击(函数(){ var action=$(“#form1”).attr('ac

我正在尝试用ajax和php构建一个登录系统。我使用一个日志视图,然后将数据保存在ajax中,并将其放入doLogin.php(php文件)中。我的问题是,当我将php文件构建到类和函数中时,它不应该是任何ajax数据

视图:

公共函数DoLoginBox(){
//在登录表单标签中。。。
返回'

登录表单 用户名:

密码:

'; }
阿贾克斯:


$(文档).ready(函数(){
$(“#登录”)。单击(函数(){
var action=$(“#form1”).attr('action');
变量形式_数据={
用户名:$(“#用户名”).val(),
密码:$(“#密码”).val(),
这是阿贾克斯:1
};
$.ajax({
类型:“POST”,
url:action,
数据:表格数据,
成功:功能(响应)
{
如果(响应=‘成功’)
$(“#form1”).slideUp('slow',function(){
$(“#message”).html(“

您已成功登录!

”; }); 其他的 $(“#message”).html(“

无效的用户名和/或密码。

”); } }); 返回false; }); });


如果我在stack.php中添加类和函数,我会得到“连接到服务器时出错”(我希望将此代码放入类和函数中以调用其他函数:

<?php
class DologinHandler{  
public function Login(){ 
if(isset($_REQUEST['is_ajax']))
    {
        $username = $_REQUEST['username'];
        $password = $_REQUEST['password'];
        //$UserHandler = new UserHandler();
        //$UserHandler -> controllDB($username,$password);
        if($username == 'demo' && $password == 'demo')
        {
            exit('success');
        } else {
            exit('error');
        }
    }
}

使用此

第一个文件classes.php

<?php
class loginHandler{
    public static function doLogin(){
        if(!isset($_POST['is_ajax']) || !isset($_POST['username'])  || !isset($_POST['password'])){
            return false;
        }
        if(isset($_REQUEST['is_ajax']))
        {
            $username = $_REQUEST['username'];
            $password = $_REQUEST['password'];
            //$UserHandler = new UserHandler();
            //$UserHandler -> controllDB($username,$password);
            if($username == 'demo' && $password == 'demo')
            {
                exit('success');
            } else {
                exit('error');
            }
        }
    }
}
?>
<?php
    require_once('classes.php');
    loginHandler::doLogin();//for static methods
    /*
        //or use this syntax for non static method
        $c = new loginHandler;
        $c->doLogin();
    */
?>
<html>
<head> <title>1</title>
<script type="text/javascript" src="jquery.js" ></script>  
</head>
<body>
<p>&nbsp;</p>
<div id="content">
  <h1>Login Form</h1>
  <form id="form1" name="form1" action="index.php"  method="post" onsubmit="return loginMe()">
    <p>
      <label for="username">Username: </label>
      <input type="text" name="username" id="username" />
    </p>
    <p>
      <label for="password">Password: </label>
      <input type="password" name="password" id="password" />
    </p>
    <p>
      <input type="submit" id="login" name="login"/>
    </p>
  </form>
    <div id="message"></div>
</div>
<script type="text/javascript">
    function loginMe(){
        var action = $("#form1").attr('action');
        var form_data = {
            username: $("#username").val(),
            password: $("#password").val(), 
            is_ajax: 1
        };
        $.ajax({
            type: 'POST',
            url: action,
            data: form_data,
            success: function(data){
                if(typeof(data) != 'undefined' && (data == 'success' || data == 'error')){
                    if($.trim(data) == 'success'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='success'>You have logged in successfully!</p>");
                        });
                    } else if($.trim(data) == 'error'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='error'>Invalid username and/or password.</p>");
                        });
                    }
                } else {
                    console.log(data);
                    $("#message").html("<p class='error'>Error to connect to server</p>");   
                }
            }
        });
        return false;
    }
</script>
</body>
</html>

第二个文件index.php

<?php
class loginHandler{
    public static function doLogin(){
        if(!isset($_POST['is_ajax']) || !isset($_POST['username'])  || !isset($_POST['password'])){
            return false;
        }
        if(isset($_REQUEST['is_ajax']))
        {
            $username = $_REQUEST['username'];
            $password = $_REQUEST['password'];
            //$UserHandler = new UserHandler();
            //$UserHandler -> controllDB($username,$password);
            if($username == 'demo' && $password == 'demo')
            {
                exit('success');
            } else {
                exit('error');
            }
        }
    }
}
?>
<?php
    require_once('classes.php');
    loginHandler::doLogin();//for static methods
    /*
        //or use this syntax for non static method
        $c = new loginHandler;
        $c->doLogin();
    */
?>
<html>
<head> <title>1</title>
<script type="text/javascript" src="jquery.js" ></script>  
</head>
<body>
<p>&nbsp;</p>
<div id="content">
  <h1>Login Form</h1>
  <form id="form1" name="form1" action="index.php"  method="post" onsubmit="return loginMe()">
    <p>
      <label for="username">Username: </label>
      <input type="text" name="username" id="username" />
    </p>
    <p>
      <label for="password">Password: </label>
      <input type="password" name="password" id="password" />
    </p>
    <p>
      <input type="submit" id="login" name="login"/>
    </p>
  </form>
    <div id="message"></div>
</div>
<script type="text/javascript">
    function loginMe(){
        var action = $("#form1").attr('action');
        var form_data = {
            username: $("#username").val(),
            password: $("#password").val(), 
            is_ajax: 1
        };
        $.ajax({
            type: 'POST',
            url: action,
            data: form_data,
            success: function(data){
                if(typeof(data) != 'undefined' && (data == 'success' || data == 'error')){
                    if($.trim(data) == 'success'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='success'>You have logged in successfully!</p>");
                        });
                    } else if($.trim(data) == 'error'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='error'>Invalid username and/or password.</p>");
                        });
                    }
                } else {
                    console.log(data);
                    $("#message").html("<p class='error'>Error to connect to server</p>");   
                }
            }
        });
        return false;
    }
</script>
</body>
</html>

1.

登录表单 用户名:

密码:

函数loginMe(){ var action=$(“#form1”).attr('action'); 变量形式_数据={ 用户名:$(“#用户名”).val(), 密码:$(“#密码”).val(), 这是阿贾克斯:1 }; $.ajax({ 键入:“POST”, url:action, 数据:表格数据, 成功:功能(数据){ if(typeof(data)!='undefined'&&(data='success'| | data='error')){ 如果($.trim(数据)=“成功”){ $(“#form1”).slideUp('slow',function(){ $(“#message”).html(“

您已成功登录!

”; }); }如果($.trim(数据)=‘错误’){ $(“#form1”).slideUp('slow',function(){ $(“#message”).html(“

无效的用户名和/或密码。

”); }); } }否则{ 控制台日志(数据); $(“#message”).html(“

连接到服务器时出错”

”; } } }); 返回false; }
@MaxTorstensson:我测试了代码,没有任何错误,请检查您的php类并确保php代码位于html代码之上。@MaxTorstensson,如果您有任何问题,我可以将所有代码放在一个文件中并复制到此处是的,请这样做我可以稍后共享:=)这是可行的,但我的问题是,我将在函数和类中包含php代码,以便调用其他函数。:)
<?php
    require_once('classes.php');
    loginHandler::doLogin();//for static methods
    /*
        //or use this syntax for non static method
        $c = new loginHandler;
        $c->doLogin();
    */
?>
<html>
<head> <title>1</title>
<script type="text/javascript" src="jquery.js" ></script>  
</head>
<body>
<p>&nbsp;</p>
<div id="content">
  <h1>Login Form</h1>
  <form id="form1" name="form1" action="index.php"  method="post" onsubmit="return loginMe()">
    <p>
      <label for="username">Username: </label>
      <input type="text" name="username" id="username" />
    </p>
    <p>
      <label for="password">Password: </label>
      <input type="password" name="password" id="password" />
    </p>
    <p>
      <input type="submit" id="login" name="login"/>
    </p>
  </form>
    <div id="message"></div>
</div>
<script type="text/javascript">
    function loginMe(){
        var action = $("#form1").attr('action');
        var form_data = {
            username: $("#username").val(),
            password: $("#password").val(), 
            is_ajax: 1
        };
        $.ajax({
            type: 'POST',
            url: action,
            data: form_data,
            success: function(data){
                if(typeof(data) != 'undefined' && (data == 'success' || data == 'error')){
                    if($.trim(data) == 'success'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='success'>You have logged in successfully!</p>");
                        });
                    } else if($.trim(data) == 'error'){
                        $("#form1").slideUp('slow', function() {
                            $("#message").html("<p class='error'>Invalid username and/or password.</p>");
                        });
                    }
                } else {
                    console.log(data);
                    $("#message").html("<p class='error'>Error to connect to server</p>");   
                }
            }
        });
        return false;
    }
</script>
</body>
</html>