这可能是一些非常基本的东西,但我已经做了一段时间,它没有跳出来,我想我累了…请帮助。
我试图创建一个简单的登录html页面,阅读它使用jquery/ajax和php验证它。这是javascript/jquery和php的两部分。虽然firebug似乎正确地报告"message"正在设置,但没有任何响应返回…我做错了什么?如果php报告了错误,我该去哪里找呢?
login.js
$(document).ready(function(){
$('#loginForm').submit(function(){
var usern=$('#username').val();
var pword=$('#password').val();
$.ajax({
url: 'mylogin.php',
data: 'action=login&usern='+usern+'&pword='+pword,
dataType: 'json',
type: 'post',
success: function (j) {
$('#loginmessage').html(j.msg);
},
});
});
});`
mylogin.php
<?php
$username=$_POST['username'];
$password=$_POST['password'];
$retval['msg']="in mylogin.php";
fb($retval,"return output from login");
echo json_encode($retval);
?>
这很简单,你将用户名发布为usern
,密码发布为pword
所以应该是
<?php
$username=$_POST['usern'];
$password=$_POST['pword'];
您正在使用名称usern
和pword
设置post变量,然后尝试使用username
和password
访问它们
当你在jquery post中传递变量名作为usern和pword时,你正在使用用户名和密码作为PHP代码中的post变量名
应该看起来像
<?php
$username=$_POST['usern'];
$password=$_POST['pword'];
?>
在传递变量时使用标准的命名约定是很重要的,这将有助于减少这些问题发生的机会。