sql
This commit is contained in:
116
Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php
Normal file
116
Practicas/Practicas_SQL/ejercicios/tienda/registro_clientes.php
Normal file
@@ -0,0 +1,116 @@
|
||||
<!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>
|
||||
Reference in New Issue
Block a user