Javascript 使用PHP和AJAX的登录表单
我只是尝试登录一个弹出的登录框。我使用AJAX检查登录是否成功。如果成功,则移动到标题位置,否则给出一个错误。 代码如下所示:Javascript 使用PHP和AJAX的登录表单,javascript,php,jquery,ajax,html,Javascript,Php,Jquery,Ajax,Html,我只是尝试登录一个弹出的登录框。我使用AJAX检查登录是否成功。如果成功,则移动到标题位置,否则给出一个错误。 代码如下所示: <script> $(document).ready(function () { $('#login').click(function () { var email = $("#email").val(); var pass = $("#pass").val();
<script>
$(document).ready(function () {
$('#login').click(function () {
var email = $("#email").val();
var pass = $("#pass").val();
var dataString = 'email=' + email + '&pass=' + pass;
if ($.trim(email).length > 0 && $.trim(pass).length > 0) {
$.ajax({
type: "POST",
url: "ajaxlogin.php",
data: dataString,
cache: false,
success: function (data) {
if (data) {
$("body").load("index.php").hide().fadeIn(1500).delay(6000);
//or
window.location.href = "index.php";
}
else {
$("#login").val('Login')
$("#error").html("<span style='color:#cc0000'>Error:</span> Invalid username and password. ");
}
}
});
}
return false;
});
});
</script>
脚本和表单都在同一页上。我当前得到的输出是正确和错误用户名/密码匹配的错误消息。但如果我从脚本中删除“return false;”,它将在不登录的情况下移动到标题位置。试试这个脚本
$(document).ready(function()
{
$('#login').click(function()
{
var email = $("#email").val();
var pass = $("#pass").val();
if ($.trim(email).length > 0 && $.trim(pass).length > 0)
{
$.ajax({
type: "POST",
url: "ajaxlogin.php",
data: {email:email,pass:pass},
cache: false,
success: function(data) {
if (data)
{
$("body").load("index.php").hide().fadeIn(1500).delay(6000);
window.location.href = "index.php";
}
else
{
$("#login").val('Login')
$("#error").html("<span style='color:#cc0000'>Error:</span> Invalid username and password. ");
}
}
});
}
return false;
});
});
$(文档).ready(函数()
{
$('#login')。单击(函数()
{
var email=$(“#email”).val();
var pass=$(“#pass”).val();
如果($.trim(email).length>0&&$.trim(pass).length>0)
{
$.ajax({
类型:“POST”,
url:“ajaxlogin.php”,
数据:{email:email,pass:pass},
cache:false,
成功:功能(数据){
如果(数据)
{
$(“body”).load(“index.php”).hide().fadeIn(1500).delay(6000);
window.location.href=“index.php”;
}
其他的
{
$(“#login”).val('login')
$(“#error”).html(“错误:无效的用户名和密码。”);
}
}
});
}
返回false;
});
});
看起来您没有从ajaxlogin.php返回任何数据
因此,success函数总是控制其他函数,并在屏幕上向您抛出一条错误消息。您需要打印一些东西(如打印“确定”;如果已记录),因为您正在检查JS上的数据。您是否看到浏览器开发工具的“网络”选项卡中发送的请求?您好,Marco,我应该在哪里使用“打印确定”由于我不了解Ajax..Thankssidefine:您正在使用不推荐的mysql功能,并且代码可以进行sql注入(任何人都可以删除您的数据库或以任何用户的身份登录)@AshishGarg在本次$\u会话之后['user']=$email;打印“ok”;你好,akhil,你的脚本也面临着同样的问题。OP正在获取数据并执行ajax,操作或方法有什么用?这就是说,在他修复php部分以返回某些内容后,您的代码将正常工作,数据(如果不是从php打印的内容)将始终为空。这应该是一条注释。他们没有足够的代表进行注释。@MarcoMura我如何通过隐藏登录表单在同一弹出窗口中显示成功登录的消息2-3秒,然后重新加载我的窗口?有什么帮助吗。。。??
include('includes/db.php');
if (isset($_POST['email']) && isset($_POST['pass'])) {
$pass = $_POST['pass'];
$email = $_POST['email'];
$query = "SELECT * FROM login WHERE email='$email' AND BINARY pass=BINARY '$pass'";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
$_SESSION['user'] = $email;
}
}
$(document).ready(function()
{
$('#login').click(function()
{
var email = $("#email").val();
var pass = $("#pass").val();
if ($.trim(email).length > 0 && $.trim(pass).length > 0)
{
$.ajax({
type: "POST",
url: "ajaxlogin.php",
data: {email:email,pass:pass},
cache: false,
success: function(data) {
if (data)
{
$("body").load("index.php").hide().fadeIn(1500).delay(6000);
window.location.href = "index.php";
}
else
{
$("#login").val('Login')
$("#error").html("<span style='color:#cc0000'>Error:</span> Invalid username and password. ");
}
}
});
}
return false;
});
});