Foros del Web » Programando para Internet » PHP »

Error al Autentificar usuarios en BD

Estas en el tema de Error al Autentificar usuarios en BD en el foro de PHP en Foros del Web. Hola a todos, estoy tratando de autentificar usuarios de mi base de datos por medio de un formulario. El problemas es que seimpre me marca ...
  #1 (permalink)  
Antiguo 04/03/2004, 16:58
Avatar de Cuezaltzin  
Fecha de Ingreso: diciembre-2003
Ubicación: Frente al Monitor
Mensajes: 252
Antigüedad: 20 años, 4 meses
Puntos: 0
Exclamación Error al Autentificar usuarios en BD

Hola a todos, estoy tratando de autentificar usuarios de mi base de datos por medio de un formulario.

El problemas es que seimpre me marca ACCESO DENEGADO, me podrian ayudar a ver donde esta mi error.

Mi codigo:

<form method="POST" action="Prueba.php"><p>
<input type="text" name="usr_login" size="20"></p>
<p><input type="text" name="usr_pass" size="20"></p>
<p><input type="submit" value="Enviar" name="B1"><input type="reset" value="Restablecer" name="B2"></p>
</form>

/////Prueba.php

<? include("Seguridad.php");?>

//////Seguridad.php

<?
/* Autenticación
*/
$muerte = 'Acceso Denegado!!!! :-p';

if(!isset($PHP_AUTH_USER)) {
header('WWW-Authenticate: Basic realm="www.crushe.com.mx"');
header('HTTP/1.0 401 Unauthorized');
echo $muerte;
exit;
} else {
// valido mi clave en el servidor ...
if (@$db_link = mysql_connect("localhost", "login", "password")) {
@mysql_select_db("base");
}

$sql = "select * from Usuarios
where ((usr_login = '$PHP_AUTH_USER')
and (usr_pass = '$PHP_AUTH_PW')) ";

$qpass= mysql_query($sql, $db_link);
if(mysql_num_rows($qpass)<>1) {
echo $muerte;
exit;
}

}
?>
__________________
Hasta la victoria Siempre.
  #2 (permalink)  
Antiguo 04/03/2004, 17:05
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
cuando tu haces una ventana de login con campos para el usuario y el password la variable $PHP_AUTH_USER no contiene valor, pues ese es otro tipo de validacion.
Para el caso de validar con la base de datos, debes dejar de lado esa validacion: if(!isset($PHP_AUTH_USER)) y sólo verificar que las variables, en este caso, usr_login y usr_pass llegaron al script desde la pagina de login, si es asi, entonces usas el valor de esas variables para construir el query ($qpass).
__________________
Dedicado a proyectos web, actualmente desarrollando un sistema de diseño de flyers online muy fácil de usar.
  #3 (permalink)  
Antiguo 05/03/2004, 08:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Y .. algunos detallitos más:

La autentificación HTTP sólo funciona en PHP instalado como módulo de Apache .. no como CGI (ejemplo bajo IIS) ..

Cuidado con el acceso a las variables de servidor como globales .. deberías usar los arrays superglobales asociados $_SERVER, .. $_POST .. etc

Puedes leer más sobre el tema en la documentación oficial sobre autentificacion HTTP con PHP:

http://www.php.net/manual/en/features.http-auth.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:45.