已经看过其他答案但无法解决。星期一我有学校考试,他们希望我们建立一个基本的CMS(添加,编辑,删除页面,调整大小的图像)。我的编程知识是初学者,我不太了解OOP(PDO),设计模式,最佳实践以及类似的东西。
当我在phpMyAdmin中检查我的查询时,它看起来很好。在标题中包含连接。
<?php
include('inc/header.php');
if(isset($_POST["submit"])) {
$username = trim($_POST["username"]);
$password = trim($_POST["password"]);
$password_secure = md5($password);
if($username == "") {
$error++;
$_SESSION["loginerror"] = true;
header("location: loginerror.php");
exit;
}
if($password == "") {
$error++;
$_SESSION["loginerror"] = true;
header("location: loginerror.php");
exit;
}
if($username != "" && $password != "") {
$sql = "SELECT * FROM user WHERE username = '".$username."'
AND password = '".$password_secure."'";
}
if(mysqli_num_rows($query == 1)) {
$row = mysqli_fetch_array($query);
$_SESSION['username'] = $row["username"];
$_SESSION['firstname'] = $row["firstname"];
$_SESSION['lastname'] = $row["lastname"];
$_SESSION['login'] = true;
header("location: user.php");
exit;
}
} else {
header("location: index.php");
exit;
}
?>
使用$_SERVER['REQUEST_METHOD'] == 'POST'
而不是isset()检查POST请求是否也很聪明,并在查询中使用mysql_real_escape_string
转义SQL?
由于
答案 0 :(得分:2)
您忘记执行查询
$query = mysqli_query($sql);
$rowcount=mysqli_num_rows($query);
然后
if($rowcount == 1){
// do ur stuff
}