我想在php中使用ajax创建登录系统,这是我的代码
jQuery(document).ready(function ($) {
// login function
$('form#login').on('submit', function(){
var url = document.getElementById('hidden').innerHTML;
var login_result = $('.login_result');
var input_data = $('form#login').serialize() + "&action=login";
$.ajax({
type: "POST",
data: input_data,
url: url + 'lib/my_func.php',
success: function(responseText){ // Get the result and asign to each cases
if(responseText == 0){
login_result.html('<span class="error">Username or Password Incorrect!</span>');
}
else if(responseText == 1){
window.location = 'userpage.php';
}
else{
alert('Problem with sql query');
}
}
});
return false;
});
});
这是我的php函数
function login()
{
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
但在这个php登录功能中没有输出。如果我删除函数echo $ user为true,如何在登录函数中回显$ user 请帮帮我
答案 0 :(得分:1)
使用你的js代码,但修改你的my_func.php
<?php
function login() {
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
login();
?>
创作者评论后UPD:
您可以通过添加特殊参数来指定在ajax请求中调用哪个函数(例如,现在使用&action=login
)。 my_func.php的代码如下所示:
<?php
function login() {
if(isset($_POST['action']) && $_POST['action'] == 'login')
{
$user = $_POST['login'];
$pas = $_POST['password'];
echo $user;
}
}
$action = $_GET['action'];
if ($action == 'login') {
login();
} else {
echo "No action {$action} found";
}
?>
答案 1 :(得分:1)
你可以使用:
$('#submit').click(function()
{
$.ajax({
type:'POST',
url: 'your_url_of_php_file',
data: "name="+$('#field_id').val()+"&email="+$('#field_id').val()+"",
success:function(result)
{
alert(result)
}
})
}
并在php文件中
<?php
if(isset($_POST['name']))
{
$name=$_POST['name'];
$email=$_POST['email'];
echo $email." ".$name;
}
?>
答案 2 :(得分:0)
然后你可以使用:
var input_data = $('form#login').serialize();
$.ajax({
type:'POST',
url:'function.php',
data:"function="+$('#function_name').val()+"&value="+input_data;
success:function(result)
{
alert(result);
}
})
在php中:
<?php
if(isset($_POST['function']))
{
$_POST['function']($_POST['value']);
}
function abc($data)
{
//some code
}
?>
你只需要发送函数名称及其值然后在php中你的函数将调用auto ...