Так что я не могу решить эту проблему. Он говорит, что пароль или адрес электронной почты/имя пользователя неправильные, и я не знаю, что делать дальше. Кажется, все в порядке.Код входа не работает
Если кто-то может мне помочь, было бы хорошо.
Код:
<?php
include 'config.php';
include 'crypt.php';
$username = $_POST['loginName'];
$email = $_POST['loginName'];
$password = crypt($_POST['loginPassword'], $salt);
$stmt = $conn->prepare('SELECT * FROM users WHERE (username = ? or email = ?) AND password = ?');
$stmt->bind_param('sss' , $username, $email, $password);
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_assoc();
$count = mysqli_num_rows($result);
?>
<html>
<head>
<title>Market</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="css/style.css" type="text/css" />
</head>
<body>
<div id="content">
<?php
if ($count > 0) {
session_start();
$_SESSION['logged'] = true;
$_SESSION['username'] = $row['username'];
header("Refresh: 2.5; URL= index.php");
?>
<h1 align="center">Nice to see you again <?php echo $_SESSION['username'] ?>! </h1>
<?php
}
else {
?>
<h1 align="center"> Password or email/username is wrong! </h1>
<?php
header("Refresh: 2.5; URL= logreg.php");
}
?>
</div>
</body>
</html>
Вы не можете использовать ' header() 'после того, как вы создали вывод. – Ben
Вы должны проверить, был ли отправлен запрос, и убедитесь, что '$ password' равен паролю в таблице. Кроме того, 'crypt()' может возвращаться по-разному по всей платформе. Не говоря уже о возможности того, что ваш db будет иметь сортировку, чувствительную к регистру. – frz3993
... если включена буферизация вывода, что обычно не так. –