0

エラーメッセージをよりスムーズに表示するために、AJAXとPHPを使用してログインを作成しようとしています。

私のHTML

<form>
    <input type="email" placeholder="Email Address" id="loginMail" name="loginMail" class="text"> 
    <input type="password" placeholder="Password" id="pass" name="pass" class="text"><br><br>
    <input type="checkbox" name="autologin" value="1">  Remember me:  | <a href="#">Forgot password?</a><br/><br>
    <input type="submit" name="submitLogin" id="submitLogin" class="submit" value="Sign In"><br />
</form>

私のJavascript:

$('#submitLogin').click(function()
{
    var email = $('#loginMail').val();
    var pass = $('#pass').val();
    $.post('login.php', 
        {email: email, pass: pass}, 
        function(data)
        {
            alert(data);
        });
});

私のPHP

<?php
include('database.php');
$pdo = new database();

$email = $_POST['email'];
$pass = md5($_POST['pass']);
#$email = 'web.de';
#$pass = 'pw';

$qry = $pdo->pdo->prepare("SELECT * FROM userbasics WHERE email = :email AND pass =     :pass");
$qry->bindParam(':email', $email);
$qry->bindParam(':pass', $pass);
$qry->execute();
#$result = $qry->fetchAll();
$count = $qry->rowCount();

if($count == 1){
    echo "Eingeloggt!"; 
    header("Location: http://www.google.de");
}
else{
    echo "E-Mailadresse oder Passwort falsch!"; 
}

/*foreach($result as $row){
    echo $row['email']; 
}*/

?>

定義されたデータを使用してPHP-Scriptを呼び出すと、何をすべきかが返されます。だから私はそれがJavascript-Partの問題だと思います。助言がありますか?

4

2 に答える 2

0

PHPの次のコードを変更します

if($count == 1){
echo "Eingeloggt!"; 
header("Location: http://www.google.de");
 }
else{
  echo "E-Mailadresse oder Passwort falsch!"; 
}

if($count == 1){
echo "Eingeloggt!"; 
} else{
  echo "E-Mailadresse oder Passwort falsch!"; 
}
exit;
于 2013-03-03T16:28:32.037 に答える
0

あなたのコード -

if($count == 1){
    echo "Eingeloggt!"; 
    header("Location: http://www.google.de");
}

echo間違っています...何かを ing した後にヘッダーを設定することはできません。echoユーザーをページにリダイレクトするときに、なぜそのようなことをしたいのですか? リダイレクトが失敗した場合、ページが空白ではなく、何らかのメッセージが表示されるはずだと考えている場合は、これを試してください-

if($count == 1){
    header("Location: http://www.google.de");
    exit("Eingeloggt!");
}

jQueryの部分については、何も問題はありません。

また、submitどこにもフォームを送信していないpostため、ajaxを介してフォームを送信しているだけなので、次のように設定formします

<form action="javascript:void(0);" onsubmit="return false;">

それが役立つことを願っています。

于 2013-03-03T16:34:55.743 に答える