这是我来自丹麦并使用谷歌翻译,因为我的英语不好,所以希望它可以与水平,但是,这就是我的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;
}
}
?>
你能帮我吗!!
首先,
它是通知,它的发生是因为您在使用它们之前没有定义$email和$password。
$email = $_POST['email'];
$password = sha1($_POST['password']);
剪切并粘贴它们,以便您绑定参数:
$stmt->bind_param('ss', $email, $password);