拜托,你能帮我吗?我是编程初学者,所以如果这是一个愚蠢的问题,请耐心等待。谢谢你。
我有带有登录表单(用户名、密码)的 index.php 页面和带有这部分代码的 login.php:
<? if(!$_POST['username'] || !$_POST['password']){
$data['msg'] = 'All fields have to be filled!';
$data['success'] = false;}else{
mysql_query(" INSERT INTO log_access(user,ip,datetime)
VALUES(
'".$_POST['username']."',
'".$_SERVER['REMOTE_ADDR']."',
NOW()
)");
$row = mysql_fetch_assoc(mysql_query("SELECT id,login FROM users WHERE login='".$username."' AND pwd='".md5($password)."'"));
if($row['login'])
{
$_SESSION['login'] = $row['login'];
$_SESSION['id'] = $row['id'];
$data['success'] = true;
$data['redirect'] = "index.php";
}
else
{
$data['success'] = false;
$data['msg']='Wrong username or password!';
}}echo json_encode($data);?>
如果我在用户名或/和密码中发送空字段,login.php 返回 $data。但是,如果我发送填充字段,则没有数据返回 index.php。我在 index.php 中有以下内容:
<script>
$(document).ready(function()
{
$('#frmLogin').submit(function()
{
$.post('/scripts/login.php',{username: $('[name=username]').val(), password: $('[name=password]').val()}, function(data)
{
if(data.success)
{
$('#login-msg').html("Logged");
}
else
{
$('#login-msg').html(data.msg);
}
}
,'json');
return false;
});
});
</script>
如果我把任何东西放在第一个条件中,或者在它之前(在 login.php 中),我也会遇到同样的问题。我不知道,我做错了什么:(
感谢您的帮助!瓦沙
编辑 解决了!我从登录脚本到数据库的连接不好。初学者误区。感谢所有回复。