, так что я пытался сделать вход с PHP и MySQLi и это, как его происходит в данный момент:Войти с помощью PHP и MySQLi
$DBServer = 'X'; // ip o lo que sea
$DBUser = 'X';
$DBPass = 'X';
$DBName = 'X';
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
if ($_POST['login']) {
$usuario = (isset($_POST['usuario'])) ? $_POST['usuario'] : '';
$pass = (isset($_POST['pass'])) ? $_POST['pass'] : '';
if ($usuario == "" or $pass == "") {
echo 'Rellena todos los campos';
} else {
$query = "SELECT * FROM users WHERE user = ? AND password = ? LIMIT 1";
$stmt=$conn->prepare($query);
$stmt->bind_param("ss",$usuario,$pass);
$stmt->execute();
$stmt->bind_result($nombre_db,$pass_db);
while ($stmt->fetch()) {
if ($nombre_db != $usuario) {
echo'No existe el usuario';
} else {
if ($pass_db !== $pass) {
echo'Contraseña incorrecta';
} else { //pass correcto
session_start();
$_SESSION["nombre"]=$usuario;
echo'<META HTTP-EQUIV="REFRESH" CONTENT="0";URL="home.php">';
}
}
}
Однако, когда я пытаюсь войти ничего не происходит. Любая идея, что я делаю неправильно? Пользователи таблицы имеют два столбца: пользователь и пароль. Более того, куда должен идти этот код?
$stmt->close();
$mysqli->close();
Спасибо! EDIT: Отображаются ошибки при выполнении этого кода:
error_reporting(E_ALL);
ini_set('display_errors', '1');
являются следующие
Примечание: Undefined индекс: войти в /home/u949068087/public_html/web/admin/login.php на линии 39
линия 39 является следующее: если ($ _ POST [ 'войти в']) { фактическая форма имеет следующий вид:
<form method="post">
<p>Usuario:
<input type="text" name="usuario" />
</p>
<p>
Contraseña:
<input type="password" name="pass" />
</p>
<p>
<input type="submit" value="login" name="login" />
</p>
</form>
Что я прохожу через него следующее:
Array ([Новичок] => exampleuser [пропуск] => examplepassword [Войти] => Вход) EDIT 2: Насколько я я обеспокоен тем, ошибка в этой части кода, который не execu
while($stmt->fetch()){}
Любые идеи? Еще раз спасибо!
Проблема заключается в том, что даже если я ввожу имя пользователя, который не существует или неверный пароль, я не получаю сообщения об ошибках –
Что Dolchio это указывает, что ваша страница находится в постоянном состоянии обновления, и контент никогда не будет отображаться. – Havenard
Я изменил его 3, как вы предложили, и я все равно ничего не получаю, правильно ли я набираю пользователя и пароль, один из них ошибочен или оба неправильно ... –