-1

これは、私がデンマークから来て、英語が苦手なため Google 翻訳を使用するためです。それがレベルになることを願っていますが、これが私の MySQLI コードが最後の単語に至るまでの方法であり、エラー。正しいパスワードと電子メールを書き込もうとしましたが、何らかの方法で間違いを犯し続けてまったく機能しません。どうしてですか?

<?php
    session_start();

    include("include/database/db.php"); 

    if($stmt = $mysqli->prepare("SELECT id, djnavn, hemmelig, rank FROM `brugere` WHERE `email` = ? AND `password` = ?"))
            {
            $stmt->bind_param('ss', $email, $password);
            $email = $_POST['email'];
            $password = sha1($_POST['password']);
            $stmt->execute();
            $stmt->bind_result($id, $djnavn, $hemmelig, $rank);
            $stmt->fetch();
            $count_res = $stmt->num_rows;
            $stmt->close();

            if($count_res > 0) {
                $_SESSION["logged_in"] = true;
                $_SESSION["user_id"] = $id;
                $_SESSION["djnavn"] = $djnavn;
                $_SESSION["hemmelig"] = $hemmelig;
                $_SESSION["rank"] = $rank;
                if($rank == 0)
                {
                    echo "Your can not log in!";
                }
                if($rank == 1)
                {
                    echo "Ok, members you can log in now!";
                }
                if($rank == 2)
                {
                    echo "Ok, Admin you can log in now!";
                }
            }
            else {
                echo 'fail her: ' . $mysqli->error; 
            }
        }
?>

手伝ってくれませんか!!

4

1 に答える 1

0

まず第一に通知であり、使用する前に $email と $password を定義していないために発生します。

$email = $_POST['email'];
$password = sha1($_POST['password']);

パラメータをバインドする前に、それらをカットアンドペーストします。

$stmt->bind_param('ss', $email, $password);
于 2012-05-07T13:49:39.860 に答える