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