Tutorial PHP y MySQL - Sistema de registro de usuario por Newboy


Crear una web con PHP y MySQL.

Para seguir este tutorial necesitamos tener instalado en el ordenador un servidor, php y mysql; Todo esto ahora suele venir incluido en paquetes ya listos para instalar y usar. Yo en este caso utilizaré Xampp 1.7.1, ya está disponible la versión superior (1.7.2) pero la he testeado y tiene algunos bugs en php asi que recomiendo utilizar la misma que yo.

Una vez instalado Xampp o los programas por separado vamos a crear la base de datos con la que trabajaremos. Los códigos de cada paso se pueden descargar individualmente pinchando sobre el botón de código a la derecha del título.

phpMyAdmin

phpMyAdmin

Entramos en phpMyAdmin ( por defecto: http://localhost/phpmyadmin/ ) y creamos una nueva base de datos llamada "tutorialweb". Pinchamos en la pestaña SQL e introducimos esta consulta:

CREATE TABLE IF NOT EXISTS `usuarios` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`usuario` varchar(20) NOT NULL,
`clave` varchar(32) NOT NULL,
`email` varchar(60) NOT NULL,
`fecha_registro` date NOT NULL,
`ip` varchar(15) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Si teneis alguna duda o algún problema al ejecutar la consulta SQL, descargaros al final del tutorial los archivos dónde incluyo el .sql listo para importar.

php

Archivo de conexión a la base de datos (conexion.php)Ver Código

Empezamos a toquetear un poco PHP, comenzaremos creando un nuevo archivo .php para conectar nuestra página web a la base de datos.

Como muchos sabreis ( espero ), el código PHP comienza siempre por las etiquetas "<?php" y acaba en "?>". El siguiente código define unas constantes que luego se pasan por una función y conecta con la DB, también se puede hacer la conexión sin función pero es mucho más cómodo de esta forma, ya que cada vez que queramos hacer una consulta a la DB sólo tendremos que llamar a esta función en vez de definir de nuevo estas constantes.

Haremos una nueva carpeta dentro del directorio "htdocs", yo la he llamado "tutorialweb" y dentro iremoos colocando los archivos. El archivo de conexion renombrarlo por conexion.php .

Luego para entrar a ver nuestros progresos entraremos a: http://localhost/tutorialweb/

O el nombre del directorio que hayais puesto.

php

Formulario para nuevas altas de usuarios. Ver Código(formulario.php)

Este paso yo creo que será el más sencillo, el formulario de altas, los campos a rellenar serán:

- Nombre de Usuario

- Contraseña

- Repetir Contraseña

- Correo Electrónico

Método del formulario POST, y en acción validar.php por ejemplo. Una vez tengamos el formulario hay que crear el archivo que validará los campos e insertará la información en la base de datos.

php

Validar campos del formulario e insertar datos. Ver Código(validar.php)

Este es el archivo dónde irá el formulario al registrarnos.

En el código he puesto comentarios en casi todos los fragmentos para explicar la función de cada uno. Resumiendo brevemente, primero recibimos los datos del formulario, comprobamos que no hay ninguno vació, que las contraseñas coincidan, que sean valores alfanuméricos, limpiamos las variables, encriptamos la contraseña, comprobamos que el usuario no exista y se inserta en la base de datos..

Éso brevemente ^^.

Ya tenemos el sistema de altas preparado para funcionar, sólo tenemos que colocar el formulario y el validador en el mismo directorio y probar, OJO, siempre desde el servidor, si lo abris directamente desde un navegador no funcionará.

Ejemplo correcto: http://localhost/tutorialweb/index.php

Ejemplo incorrecto: file:///C:/xampp/htdocs/tutorialweb/index.php

php

Formulario de Acceso. Ver Código(entrar.php)

Vamos a crear el sistema para que nos reconozca como usuarios registrados partiendo de la base de datos.

Normalmente, se hace un formulario que luego te lleva a otra página dónde verifica los datos, esta vez no, directamente en un mismo archivo para no tener archivos por tener.

El archivo básicamente comprueba si se han enviado datos o hay algun usuario identificado, en caso de ser falsos esos 2 casos muestra el formulario.

Hace una consulta a la base de datos, compara los datos y si son correctos se crea una sesion con los datos del usuario que posteriormente nos servirán para mostrarlos en cualquier página que creemos, por ejemplo una vez te identificas podrás entrar en una página privada que sólo se accede habiendo pasado por este formulario.

IMPORTANTE: La primera línea "session_start()" sirve para mantener las sesiones y no perderlas al entrar en otra página, por ello la he colocado en todas como vereis al final del tutorial al descargar los archivos.

php

Zona Privada. Ver Código(privado.php)

En este archivo comprueba que la sesión "nombre_usuario" está activa y reconoce al usuario, si no hay ninguna sesión comprende que es un invitado y le bloquea el paso.

<?php
if(!isset($_SESSION['nombre_usuario'])){
Todo lo que pongas aquí se mostrara a los usuarios no registrados.
} else {
Y aqui en caso contrario.
}
?>

Ya solo nos falta el archivo para finalizar la sesion que explicaré a continuación.

php

Finalizar la sesión. Ver Código(salir.php)

En la primera línea volvemos a poner session_start() para recoger la sesión de la página de la que vengamos y después la destruye.

<?php

if(!isset($_SESSION['nombre_usuario'])){
echo "No has iniciado sesión";
} else {
session_unset();
session_destroy();
echo "Has cerrado sesión correctamente. Gracias por su visita.";
}

?>

Fin del Tutorial

Fin del Tutorial ;)

Yo creo que por ahora ya teneis para hacer vuestros pinitos con php y mysql. He creado una portada cutre para enlazar todos los archivos, la adjunto aquí junto con todos los archivos por si quereis testearlo.

Ver Código

Podeis seguir el hilo del tutorial a través del foro aquí:

- Tutorial PHP & MySQL

© Copyright © 2007-2009 fp-informatica
Inicio | Foro | Chat | Registro | RSS | Contacto