Volver al índiceProyectos - Agenda de teléfonos multiusuario

El objetivo de este proyecto es ampliar la capacidad de la agenda de teléfonos creada en un proyecto anterior, permitiendo que varios usuarios puedan crear sus propias agendas, independientes unas de otras.


Un ejemplo de agenda multiusuario puede probarse en la ventana siguiente:

ERROR (no puede mostrarse el objeto)


Estas pueden ser las consultas de creación de tabla para este proyecto:

// Consultas de creación de tablas en MySQL
$consulta_creatabla_usuarios = "CREATE TABLE $dbUsuarios (
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    usuario VARCHAR($tamUsuario), 
    password VARCHAR($tamCifrado),   
    PRIMARY KEY(id) 
    )";

$consulta_creatabla_agenda = "CREATE TABLE $dbAgenda (
    id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
    id_usuario INTEGER UNSIGNED,
    nombre VARCHAR($tamNombre), 
    apellidos VARCHAR($tamApellidos), 
    telefono VARCHAR($tamTelefono), 
    correo VARCHAR($tamCorreo),   
    PRIMARY KEY(id) 
    )";

// Consultas de creación de tablas en SQLite
$consulta_creatabla_usuarios = "CREATE TABLE $dbUsuarios (
    id INTEGER PRIMARY KEY,
    usuario VARCHAR($tamUsuario), 
    password VARCHAR($tamCifrado)  
    )";

$consulta_creatabla_agenda = "CREATE TABLE $dbAgenda (
    id INTEGER PRIMARY KEY,
    id_usuario INTEGER,
    nombre VARCHAR($tamNombre), 
    apellidos VARCHAR($tamApellidos), 
    telefono VARCHAR($tamTelefono), 
    correo VARCHAR($tamCorreo)
    )";

// Consulta de comprobación de existencia de tablas en MySQL
$consultaExisteTabla = "SELECT COUNT(*) as existe_db 
    FROM INFORMATION_SCHEMA.SCHEMATA WHERE SCHEMA_NAME='$dbDb'";

// Consulta de comprobación de existencia de tablas en SQLite
$consultaExisteTabla = "SELECT COUNT(*) as existe_db 
    FROM sqlite_master WHERE type='table' AND name='$dbUsuarios'";

Agenda 1 - Identificar usuarios

La identificación de usuarios se hace mediante un nombre y una contraseña. Puedes consultar un diagrama de flujo simplificado del proceso de identificación de usuarios (en este diagrama no está incluida, por ejemplo, la verificación de nombres y contraseñas vacías).

Agenda - Identificación

Escribe tu nombre y contraseña
Nombre:
Contraseña:

Nota: Si no estás ya registrado, te registraré como usuario.

Si el usuario ya existe y la contraseña no es correcta, se vuelve a la página inicial avisando del problema.

Agenda - Identificación

Contraseña incorrecta

Escribe tu nombre y contraseña
Nombre:
Contraseña:

Nota: Si no estás ya registrado, te registraré como usuario.

Si el usuario no existe todavía, se solicita de nuevo la contraseña:

Agenda - Identificación 2

pepito es un nuevo usuario. Por favor, repite la contraseña para registrarte como usuario.

Contraseña:

Si las dos contraseñas no coinciden, se vuelve a la página inicial avisando del problema.

Agenda - Identificación

Las contraseñas no coinciden

Escribe tu nombre y contraseña
Nombre:
Contraseña:

Nota: Si no estás ya registrado, te registraré como usuario.

Si las dos contraseñas coinciden, se añade el nuevo usuario y se muestra el menú propio de la agenda.

Agenda de Pepito - Identificación 3

Hola, pepito. Ya eres un usuario registrado y puedes crear tu agenda.

Comentarios::


Agenda 2 - Usuario

El menu del usuario es igual que el del proyecto de la agenda para un único usuario. La única diferencia es la opción "Desconectar", que permite desconectar al usuario y volver a la página inicial de identificación.

Agenda de Pepito

Comentarios:


Agenda 3 - Superusuario

El superusuario puede eliminar usuarios.

Agenda - Superusuario

Esta página forma parte del curso "Páginas web con PHP" disponible en http://www.mclibre.org
Autor: Bartolomé Sintes Marco
Última modificación de esta página: 26 de febrero de 2008

Creative Commons License
Esta obra está bajo una licencia de Creative Commons.