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:
Estas pueden ser las consultas de creación de tabla para este proyecto:
// Consultas de creación de tablas en MySQL
$consultaCreaTablaUsuarios = "CREATE TABLE $dbUsuarios (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
usuario VARCHAR(" . TAM_USUARIO . "),
password VARCHAR(".TAM_CIFRADO."),
PRIMARY KEY(id) )";
$consultaCreaTablaAgenda = "CREATE TABLE $dbAgenda (
id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
id_usuario INTEGER UNSIGNED,
nombre VARCHAR(" . TAM_NOMBRE . "),
apellidos VARCHAR(" . TAM_APELLIDOS . "),
telefono VARCHAR(" . TAM_TELEFONO . "),
correo VARCHAR(" . TAM_CORREO . "),
PRIMARY KEY(id) )";
// Consultas de creación de tablas en SQLite
$consultaCreaTablaUsuarios = "CREATE TABLE $dbUsuarios (
id INTEGER PRIMARY KEY,
usuario VARCHAR(" . TAM_USUARIO . "),
password VARCHAR(".TAM_CIFRADO.")
)";
$consultaCreaTablaAgenda = "CREATE TABLE $dbAgenda (
id INTEGER PRIMARY KEY,
id_usuario INTEGER,
nombre VARCHAR(" . TAM_NOMBRE . "),
apellidos VARCHAR(" . TAM_APELLIDOS . "),
telefono VARCHAR(" . TAM_TELEFONO . "),
correo VARCHAR(" . TAM_CORREO . ")
)";
// 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'";
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).
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.
Contraseña incorrecta
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:
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.
Las contraseñas no coinciden
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.
Hola, pepito. Ya eres un usuario registrado y puedes crear tu agenda.
Comentarios::
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.
Comentarios:
El superusuario puede eliminar usuarios.