IFCD0210/Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php
2024-03-14 13:52:33 +01:00

116 lines
3.8 KiB
PHP

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="estilo.css">
<title>Registro Clientes</title>
</head>
<body>
<form action="" method="post">
<label for="nombre">Nombre:</label>
<input type="text" id="nombre" name="nombre" required>
<label for="email">Correo Electronico:</label>
<input type="text" id="email" name="email" required>
<label for="direccion">Direccion:</label>
<input type="text" id="direccion" name="direccion" required>
<label for="username">Nombre de Usuario:</label>
<input type="text" id="username" name="username" required>
<label for="password">Contraseña:</label>
<input type="text" id="password" name="password" required>
<input type="submit" value="Enviar">
</form>
</body>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$direccion = $_POST['direccion'];
$username = $_POST['username'];
$password_raw = $_POST['password'];
$password = password_hash($password_raw, PASSWORD_DEFAULT);
$nombre_servidor = "localhost";
$nombre_usuario = "root";
$contraseña = "Logomark8";
$nombre_base_datos = "tienda";
mysqli_report(MYSQLI_REPORT_OFF);
$conexion = mysqli_connect($nombre_servidor, $nombre_usuario, $contraseña, $nombre_base_datos);
if (!$conexion) {
exit("Error de conexión: " . mysqli_connect_error());
}
if (getUserByEmail($email, $conexion) === true) {
echo "<p> Ya existe un cliente con ese correo </p>";
exit();
}
if (saveCliente($nombre, $email, $direccion, $conexion) === false) {
echo "<p> Ocurrio un problema al almacenar el registro de Cliente </p>";
exit();
} else {
if (saveUser($username, $email, $password, $conexion) === false) {
echo "<p> Ocurrio un problema al almacenar el registro de Cliente </p>";
exit();
} else {
echo "<p>El cliente ha sido registrado correctamente </p>";
$mensaje = "Puedes loguearte, ya estás registrado";
$mensaje_codificado = urlencode($mensaje);
header("Location: login.php?mensaje=".$mensaje_codificado);
exit;
}
}
mysqli_close($conexion);
}
function getUserByEmail($email, $conexionSql)
{
$consulta_sql = "SELECT * FROM clientes WHERE correo_electronico = '$email'";
$resultado = mysqli_query($conexionSql, $consulta_sql);
if (!$resultado) {
exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql));
}
return mysqli_num_rows($resultado) > 0 ? true : false;
}
function saveCliente($nombre, $email, $direccion, $conexionSql)
{
$insercion_sql = "INSERT INTO clientes (nombre, correo_electronico, direccion) VALUES ('$nombre', '$email', '$direccion')";
$resultado = mysqli_query($conexionSql, $insercion_sql);
if (!$resultado) {
exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql));
}
return $resultado;
}
function saveUser($username, $email, $password, $conexionSql)
{
// $insercion_sql = "INSERT INTO usuarios (nombre_usuario, contraseña, cliente_id, correo_electronico)
// VALUES ('$username', '$password', (SELECT cliente_id FROM clientes WHERE correo_electronico = '$email'),'$email')";
$insercion_sql = "INSERT INTO usuarios (nombre_usuario, contraseña, cliente_id, correo_electronico)
SELECT '$username', '$password', cliente_id, '$email' FROM clientes WHERE correo_electronico = '$email'";
$resultado = mysqli_query($conexionSql, $insercion_sql);
if (!$resultado) {
exit("Error al ejecutar la consulta: " . mysqli_error($conexionSql));
}
return $resultado;
}
?>
</html>