Duda sobre verificación de Usuario y password. PHP

Quiero verificar que los datos ingresados de ambos $_POST, sea iguales a los de la base de datos 'usuarios'. Acá tengo mis dos PHP con los que me conecto. No está verificando correctamente los campos ingresados, y se loguea con cualquier valor siempre y cuando no esté vacío.


conectar.php[

<?php
include ('funciones.php');
//usuario y clave pasados por el formulario
if(isset($_POST['usuario'])){
$usuario = $_POST['usuario'];
$password = $_POST['password'];
if($usuario ==""]) {
header('Location:index.php');
}else{
if($password ==""){
header('location:index.php');
}else{
//usa la función conexiones() que se ubica dentro de funciones.php
if (conexiones($usuario, $password)){
//si es valido accedemos a cursos.php
header('Location:adminPRO.php');
} else {
//si no es valido volvemos al formulario inicial
header('Location: index.php');
}
}
}
}
?>

]

y funciones.php{

<?php
function conexiones($usuario, $clave) {
//conexión con base de datos
$conectar= odbc_connect ("usuarios", "", "");
if (!$conectar)
{exit("Connection Failed: " . $conectar);}
//sentencia sql para consultar el nombre del usuario
$sql = "SELECT * FROM usuarios ";
//ejecución de la sentencia anterior
$ejecutar_sql= odbc_exec($conectar,$sql);
if (!$ejecutar_sql)
{exit("Error in SQL");}
//si existe inicia una sesión y guarda el nombre del usuario
if (odbc_fetch_row($ejecutar_sql)!=0){
//inicio de sesión
session_start();
//configurar un elemento usuario dentro del arreglo global $_SESSION
$_SESSION['usuario']=$usuario;
//retornar verdadero
return true;
} else {
//retornar falso
return false;
}
}
//función para verificar que dentro del arreglo global $_SESSION existe el nombre del usuario
function verificar_usuario(){
//continuar una sesión iniciada
session_start();
//comprobar la existencia del usuario
if ($_SESSION['usuario']){
return true;
}
}
?>

Respuesta
1

Que tal por lo que puedo apreciar el error se encuentra en tu función de conexiones ya que en la linea que tienes

$sql = "SELECT * FROM usuarios ";  

En ningún momento hiciste referencia a tomar los campos $usuario, $clave correspondientemente vaya digo no conozco la estructura de t

$sql = "SELECT * FROM usuarios where usuario='".$usuario."' and clave ='".$clave."'";

Digo eso seria una manera de otra forma solo basta que tengas un registro en la base y siempre entrara ya que no estas validando nada

Sin mas por el momento quedo en espera de tu respuesta

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas