En un principio quiero aclarar que utilizare funciones de hash para este ejemplo, como md5(), también quiero agregar que se utilizaran variables de sesion en este sistema para que se pueda iniciar una sesión y los usuarios puedan hacer modificaciones en lo que ustedes deseen darles permisos.

Comenzamos….

para empezar tendremos una base de datos en MySQL:

DROP DATABASE IF EXISTS login; -- eliminamos la base de datos si existe
CRETE DATABASE IF NOT EXISTS login; -- y la creamos nuevamente

USE login;

DROP TABLE IF EXISTS users; -- eliminamos la tabla si existe
CREATE TABLE IF NOT EXISTS users( -- la creamos nuevamente...
	user_id INT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT; -- para guardar el id del usuario
	user_name VARCHAR(100) NOT NULL, -- nombre de usuario
	user_passwd VARCHAR(32) NOT NULL -- contraseña del usuario, solo 32 caracteres para hacer un hash con md5
);

Explicación del paso anterior:

La linea 1 indica que queremos borrar cualquier indicio de que halla existido alguna base de datos con ese nombre, lo mismo con la tabla para que no existan choques entre bases de datos y tablas.

Despues creamos la tabla dentro de la base de datos que ya tenemos (login).

Necesitaremos un archivo de configuración en PHP, esto con la finalidad de no tener que hacer una conexion cada vez que necesitemos buscar datos en la tabla.

El archivo de configuracion lleva lo siguiente:

function conecta(){
 	if ( $idcnx = mysql_connect('servidor','usuario','contrasena') != NULL ){
 		if ( mysql_select_db('databasename',$idcnx) )
 			return $idcnx;
 		else
 			return NULL;
 	}
 	else
	 	return NULL;
}

Con la función anterior haremos la conexión a nuestra base de datos. Es hora de nuestro archivo mas importante, el archivo del formulario, en el cual el usuario debera colocar sus datos y podra hacer un login. Entonces el archivo quedaría así:

Usuario:
 	Passwd:

Como podran ver, es un formulario muy simple, ahora crearemos el archivo que nos validara los campos y con eso podremos dar por terminado nuestro formulario de login. Entonces, el documento completo que necesitamos es el siguiente:

//

// creamos la variable que contendra la cadena para la consulta de los datos.
$sql_users = "SELECT * FROM users WHERE user_name=\"$_POST[user_name]\" AND user_passwd=\"" . md5($_POST['user_passwd']) . "\" LIMIT 1";

// nos conectamos a la base de datos

$idcnx = conecta();

$res_users = mysql_query($sql_users);

// Si encontramos al usuario
if ( mysql_num_rows($res_users) == 1 ){

	// avisamos que ya lo encontramos
	echo 'Encontramos al usuario';
	$users = mysql_fetch_array($res_users);

	// creamos las variables de sesion
	$_SESSION['user_id'] = $users['user_id'];
	$_SESSION['user_name'] = $users['user_name']
}
else{
	echo 'usuario o contraseña incorrectos...';
}

// cerramos la conexion con MySQL
mysql_close($idcnx);

//

Es muy importante que tengan en cuenta que las sesiones no podran ser guardadas a menos que utilicen la funcion session_start() al iniciar cualquier documento en el que quieran que sobreviva una sesión, espero que les sirva este mini tutorial y que dejen sus comentarios.

via: http://arkos.net63.net

Anuncios