どうか、これを手伝ってくれませんか。私はプログラミングの初心者なので、それがばかげた質問であるなら、私に忍耐を持ってください。ありがとうございました。
ログインフォーム(ユーザー名、パスワード)を含む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)に何かを入れても、同じ問題が発生します。わからない、何が間違っているのか:(
助けてくれてありがとう!鷲羽
解決済みの編集 !ログインスクリプトからDBへの接続が不良です。初心者の間違い。すべての返信をありがとう。