Un sistema de autenticacion... uy... bueno, vamos a ver... no soy muy experto pero talvez esto te sirva:
primero necesitas una pagina con un formulario de acceso, puede ser algo asi:
Código:
<form name="" enctype="multipart/form-data" method="post" action="validar.php">Usuario: <input maxlength="20" name="username" tabindex="1"/><br/>
Contraseña: <input type="password" maxlength="20" name="password" tabindex="2"/>
<input type="submit" value="Iniciar Sesion" name="enviar" tabindex="3"/>
</form>
mira que el action se refiere a un archivo php llamado validar.php, antes hagamos uno que se llame connect.php
connect.php:
Código PHP:
<?php
/* Primero conectamos a la base de datos */
unset($config) ;
$config[1] = "localhost" ; // Puede ser "localhost" aunque tambien una URL o una IP
$config[2] = "usuarios" ; // Usuario de la base de datos
$config[3] = "password"; // password de la base de datos
$config[4] = "base de datos"; // Nombre de la base de datos
$conectar = @mysql_connect($config[1],$config[2],$config[3]) or exit('Datos de conexion incorrectos.') ;
mysql_select_db($config[4],$conectar) or exit('No existe la base de datos.') ;
?>
ahora si, vamos al validar.php
Código PHP:
<?php
include("connet.php");
/* Ahora tomamos los datos del formulario*/
$username = $_POST[username];
$realpassword = $_POST[password];
/*ahora verificamos que exista el usuario, */
$usuario = mysql_result(mysql_query("select count(NOMBRE) from USUARIOS where NOMBRE_DE_USUARIO = '$username'"),0,0);
if ($usuario == "1") { /*si hay 1 usuario con ese nombre de usuario entonces el if ingresa aqui*/
$contraseña_de_base_de_datos = mysql_result(mysql_query("select password from USUARIOS where NOMBRE_DE_USUARIO='$username'"),0,0);
if($contraseña_de_base_de_datos == $password){ /*si la contraseña de la base de datos es igual a la contraseña del formulario entonces entra aqui*/
setcookie('usuario',$username,time()+600) ; /*definimos un cookie valido por 10 minutos (600 segundos)*/
setcookie('contraseña',$password,time()+600) ; /*/definimos otro cookie 10 minutos*/
echo "<meta http-equiv='refresh' content='0;URL=PRIVADO/index.php'>";
/* PRIVADO es donde quieres que la gente no ingrese sin contraseña*/
}else{
/*si la contraseña del formulario no es igual a la de la base de datos el if entra aqui*/
echo "La contraseña es incorrecta. <br><br><br>Usted será redirigido en 5 segundos.";
echo "<meta http-equiv='refresh' content='5;URL=index.php'>";
}
}else{
/*si el primer if no encuentra ningun usuario con ese nombre entonces entra aqui*/
echo "El usuario no existe";
}
?>
ok, hasta el momento tenemos el formulario de acceso, la conexion a la bd (connect.php) y un archivo php que valida los datos... ahora hagamos otro archivo php llamado login.php
Código PHP:
<?php
$usuario = $_COOKIE['usuario'];
$password = mysql_result(mysql_query("SELECT password FROM USUARIOS WHERE username= '$usuario'"),0,0);
if($password !== $_COOKIE['contraseña']){
echo "Denegado!";
echo "<meta http-equiv='refresh' content='5;URL=http://www.miweb/index.php'>";
exit();
}
?>
ahora escribe
Código PHP:
include("login.php");
en las paginas que desees que sean privadas....
recuerda cambiar los nombres de las tablas y los campos, asi como las variables...cualquier cosa me avisas, saludos