I would do it this way, I think the problem is to use mysqli_fetch_array()
that returns the fields in the table in numerical order, unlike mysql_fetch_assoc()
that returns the names of the fields.
// Si existe usuario y contraseña
if ( !empty( $_POST['user'] ) && !empty( $_POST['pass'] ) ) {
// Credenciales
$user = htmlspecialchars( mysqli_real_escape_string( $connect , $_POST['user'] ) );
$pass = htmlspecialchars( mysqli_real_escape_string( $connect , $_POST['pass'] ) );
// Datos del usuario
$sql2 = "SELECT * FROM users_profesores WHERE User='$user' OR Email='$user'" ;
// Ejecuta el query
$resulta = mysqli_query( $connect , $sql2 );
// Si se obtiene un unico registro
if ( mysql_num_rows( $resulta ) == 1 ) {
// Datos de la consulta
$datas = mysql_fetch_assoc( $resulta );
// Si coinciden los password
if ( password_verify( $pass , $datas['Passwd'] ) ) {
// Agrega los datos a la sesión
$_SESSION['USER'] = $datas['User'] ;
# Otros datos de la sesión ...
} else {
# Excepción ...
}
} else {
# Excepción ...
}
}