У меня есть небольшой скрипт, который берет имя пользователя и пароль от моего клиента, и если их учетные данные верны, они попадают в их каталог сайта на моем сервере разработки.Вход PHP в if/else условие условное не выполняется else
Состояние if
прекрасно работает и отвечает на правильные учетные данные, соответствующие их счетным частям в моей базе данных MySQL.
Однако условие else
не будет выполняться вообще (т. Е. Оно не будет направлять пользователя на страницу с ошибкой, если их учетные данные являются неработающими). Я думаю, что цикл while
может отключать логику, но мне нужна переменная $row
, чтобы получить поле каталога из БД.
Любые идеи?
$username = stripslashes($_POST['username']);
$password = stripslashes($_POST['password']);
$pass = md5($password);
$conn = mysqli_connect("localhost", "root", "", "digital_server");
$sql = "SELECT * FROM projects WHERE username = '$username' AND password = '$pass'";
$query = mysqli_query($conn, $sql);
while($row = mysqli_fetch_assoc($query)) {
if($query) {
header("Location: " . $row['directory'] . "/");
}
else {
header("Location: http://dev.myserver.com/error.php");
}
}
ПОСТАНОВИЛИ Совершенные спасибо всем, кто помог.
Измененного код блок Убраны время и создал $row
переменных, чтобы получить нужные данные для if
логики
$row = mysqli_fetch_assoc($query);
if(mysqli_num_rows($query) > 0) {
header("Location: " . $row['directory'] . "/");
}
else {
header("Location: http://dev.myserver.com/error.php");
}
Как я могу использовать 'переменную $ row', если я не создаю его в' while' цикле? – WebDevDanno
Я просто понял, что тоже. Удалил 'while' и только что создал переменную' $ row'. Благодарю. – WebDevDanno
Im рад помочь вам :) –