У меня есть один php
что присоединен к одной BD Mysql
и что Ваша функция - login, проблема состоит в том, что он всегда показывает мне, что пользователь или password они неправильные даже не будучи.
Я оставляю им PHP
<?php
session_start();
?>
<?php
$host_db = "localhost";
$user_db = "u268055042_audit";
$pass_db = "auditorioandroid";
$db_name = "u268055042_audit";
$tbl_name = "tbl_login";
$conexion = new mysqli($host_db, $user_db, $pass_db, $db_name);
if ($conexion->connect_error) {
die("La conexion falló: " . $conexion->connect_error);
}
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM $tbl_name WHERE email = '$username'";
$result = $conexion->query($sql);
if ($result->num_rows > 0) {
}
$row = $result->fetch_array(MYSQLI_ASSOC);
if (password_verify($password, $row['password'])) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
echo "Bienvenido! " . $_SESSION['username'];
echo "<br><br><a href=panel-control.php>Panel de Control</a>";
} else {
echo "Username o Password estan incorrectos.";
echo "<br><a href='login2.html'>Volver a Intentarlo</a>";
}
mysqli_close($conexion);
?>
проверь, печатает ли твоя консультация какую-то информацию, если тебя возвращает какой-либо, оставшаяся часть кода сохраняй это через твою секунду if, костлявая внутри этого
if ($result->num_rows > 0) {
// aqui va el resto del codigo para que se cumpla la condicion
}
в способ, что твой общий код смог, повернуло что-либо подобное....
<?php
session_start();
$host_db = "localhost";
$user_db = "u268055042_audit";
$pass_db = "auditorioandroid";
$db_name = "u268055042_audit";
$tbl_name = "tbl_login";
$conexion = new mysqli($host_db, $user_db, $pass_db, $db_name);
if ($conexion->connect_error) {
die("La conexion falló: " . $conexion->connect_error);
}else{
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM $tbl_name WHERE email = '$username'";
$result = $conexion->query($sql);
}
if ($result->num_rows > 0) {
$row = $result->fetch_array(MYSQLI_ASSOC);
if (password_verify($password, $row['password'])) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
echo "Bienvenido! " . $_SESSION['username'];
echo "<br><br><a href=panel-control.php>Panel de Control</a>";
} else {
echo "Username o Password estan incorrectos.";
echo "<br><a href='login2.html'>Volver a Intentarlo</a>";
}
mysqli_close($conexion);
}
?>
проверь это дружелюбное, я надеюсь помочь тебе
Из-за лучшего чего не ты санкционируешь password прямо в query? и так ты предотвращаешь двойное утверждение с PHP.
<?php
session_start();
$host_db = "localhost";
$user_db = "u268055042_audit";
$pass_db = "auditorioandroid";
$db_name = "u268055042_audit";
$tbl_name = "tbl_login";
$conexion = new mysqli($host_db, $user_db, $pass_db, $db_name);
if ($conexion->connect_error) {
die("La conexion falló: " . $conexion->connect_error);
}
$username = $_POST['username'];
$password = $_POST['password'];
$sql = "SELECT * FROM $tbl_name WHERE email = '$username' AND password = '$password'";
$result = $conexion->query($sql);
if ($result->num_rows > 0) {
$_SESSION['loggedin'] = true;
$_SESSION['username'] = $username;
$_SESSION['start'] = time();
$_SESSION['expire'] = $_SESSION['start'] + (5 * 60);
echo "Bienvenido! " . $username;
echo "<br><br><a href=panel-control.php>Panel de Control</a>";
}
else {
echo "Username o Password estan incorrectos.";
echo "<br><a href='login2.html'>Volver a Intentarlo</a>";
}
mysqli_close($conexion);
?>