Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/05/2002, 18:34
bubobubo
 
Fecha de Ingreso: mayo-2002
Mensajes: 25
Antigüedad: 21 años, 11 meses
Puntos: 0
Re: login password con ventana con ventana del explore

Hola Miguel25!!

Tenia un ejemplillo por aquí y lo he acabado de arreglar. Puede que todavia tenga algún fallo. Eso sí debes añadirle la manera de limpiar las variables $PHP_AUTH_USER y $PHP_AUTH_PW para poder acceder con distintos usuarios sin cerrar la ventana del navegador.

Ahí va el código, solo tienes que añadirle tus datos(username,password,...) de la Base de Datos que estés utilizando.

Código:
  
<?php 

	//Si no se introducen usuario y password vuelve a mostrar la ventana
	if (empty($PHP_AUTH_USER) || empty($PHP_AUTH_PW)) {
		header('WWW-Authenticate: Basic realm="Acceso restringido"');
		header('HTTP/1.0 401 Unauthorized');
		echo 'Authorization Required.';
		exit;
	} 
	
	//Si se ha introducido conectamos con la base de datos
	$link=@mysql_connect("localhost","bd_username","bd_password");

	//Seleccionamos base de datos a utilizar
	mysql_select_db("nombre_base_de_datos");
	//printf("PHP:%s %s\n\n", $PHP_AUTH_USER,$PHP_AUTH_PW);


	//Buscamos usuario y password en la base de datos
	$result=mysql_query("SELECT usuario, password 
				   FROM usuario
				   WHERE usuario='$PHP_AUTH_USER' AND password='$PHP_AUTH_PW'",$link);

	if (!$result) {  //Si falla la consulta, mensaje de error

		print("Error en consulta");

	} else { //Si la consulta es correcta

		if (mysql_num_rows($result)<>0) { //Verificamos que se haya encontrado el usuario en la BD

			//Aquí es donde se accedería a la página, este código solo muestra información
			while ($row=mysql_fetch_array($result))
			{
				printf("Consulta:%s %s\n\n", $row[0], $row[1]);
				printf("PHP:%s %s\n\n", $PHP_AUTH_USER,$PHP_AUTH_PW);
			}

		} else {
			//Si no se ha encontrado el usuario en la BD vuelve a mostrar la ventana.
			header('WWW-Authenticate: Basic realm="Acceso restringido"');
			header('HTTP/1.0 401 Unauthorized');
			echo 'Authorization Required.';
			exit;
		}
	}
	mysql_free_result($result);	
	mysql_close();
?>
Espero que este sirva