-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModificarCliente.php
More file actions
146 lines (122 loc) · 5.65 KB
/
Copy pathModificarCliente.php
File metadata and controls
146 lines (122 loc) · 5.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<?php
session_start();
require_once 'funciones/corroborar_usuario.php';
Corroborar_Usuario(); // No se puede ingresar a la página php a menos que se haya iniciado sesión
include('head.php');
include('conn/conexion.php');
$MiConexion = ConexionBD();
if (isset($_GET['id'])) {
$idCliente = $_GET['id'];
// Obtener los datos del cliente
$consulta = "SELECT * FROM clientes WHERE idCliente = ?";
$stmt = $MiConexion->prepare($consulta);
$stmt->bind_param("i", $idCliente);
$stmt->execute();
$resultado = $stmt->get_result();
$cliente = $resultado->fetch_assoc();
}
else {
// Si no se pasa un ID, redirigir al listado
header('Location: clientes.php');
exit();
}
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$nombre = $_POST['nombre'];
$apellido = $_POST['apellido'];
$email = $_POST['email'];
$telefono = $_POST['telefono'];
$direccion = $_POST['direccion'];
// Validaciones básicas
$mensaje = "";
$errores = [];
if (empty($nombre) || strlen($nombre) < 3) {
$errores[] = "El nombre es obligatorio y no puede presentar menos de 3 caracteres.";
}
if (strlen($nombre) > 50) {
$errores[] = "El nombre no puede presentar más de 50 caracteres.";
}
if (empty($apellido) || strlen($apellido) < 3) {
$errores[] = "El apellido es obligatorio y no puede presentar menos de 3 caracteres.";
}
if (strlen($apellido) > 50) {
$errores[] = "El apellido no puede presentar más de 50 caracteres.";
}
if (!empty($email) && !filter_var($email, FILTER_VALIDATE_EMAIL)) {
$errores[] = "El formato del email no es válido.";
}
if (strlen($email) > 50) {
$errores[] = "El correo electrónico no puede presentar más de 50 caracteres.";
}
if (empty($telefono) || !preg_match('/^[0-9]{7,15}$/', $telefono)) {
$errores[] = "El teléfono debe contener entre 7 y 15 dígitos.";
}
if (empty($direccion) || strlen($direccion) < 5) {
$errores[] = "La dirección es obligatoria y no puede presentar menos de 5 caracteres.";
}
if (strlen($direccion) > 50) {
$errores[] = "La dirección no puede presentar más de 50 caracteres.";
}
// Si hay errores, redirigir con el mensaje de error
if (!empty($errores)) {
$mensaje = implode(' ', $errores);
echo "<script>
alert('$mensaje');
window.location.href = 'clientes.php?documento={$cliente['dniCliente']}&nombre=&apellido=&email=&telefono=&direccion=';
</script>";
exit();
}
// Actualizar los datos del cliente
$consulta = "UPDATE clientes
SET nombreCliente = ?,
apellidoCliente = ?,
mailCliente = ?,
telefonoCliente = ?,
direccionCliente = ?
WHERE idCliente = ? ";
$stmt = $MiConexion->prepare($consulta);
$stmt->bind_param("sssssi", $nombre, $apellido, $email, $telefono, $direccion, $idCliente);
$stmt->execute();
// Redirigir después de la actualización
$mensaje = "El cliente de ID: {$idCliente} y documento: {$cliente['dniCliente']} ha sido modificado exitosamente.";
echo "<script>
alert('$mensaje');
window.location.href = 'clientes.php?documento={$cliente['dniCliente']}&nombre=&apellido=&email=&telefono=&direccion=';
</script>";
exit();
}
?>
<body class="bg-light">
<div style="min-height: 100%">
<div class="wrapper">
<?php include('sidebarGOp.php'); include('topNavBar.php'); ?>
<div class="p-5 mb-4 bg-white shadow-sm" style="margin-top: 10%; margin-left: 1%; max-width: 98%; border: 1px solid #444444; border-radius: 14px;">
<h5 class="mb-4 text-secondary"><strong>Modificar Cliente</strong></h5>
<!-- Formulario para modificar el cliente -->
<form method="POST">
<div class="mb-3">
<label for="nombre" class="form-label">Nombre</label>
<input type="text" class="form-control" id="nombre" name="nombre" value="<?php echo htmlspecialchars($cliente['nombreCliente']); ?>" required>
</div>
<div class="mb-3">
<label for="apellido" class="form-label">Apellido</label>
<input type="text" class="form-control" id="apellido" name="apellido" value="<?php echo htmlspecialchars($cliente['apellidoCliente']); ?>" required>
</div>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email" name="email" value="<?php echo htmlspecialchars($cliente['mailCliente']); ?>" required>
</div>
<div class="mb-3">
<label for="telefono" class="form-label">Teléfono</label>
<input type="text" class="form-control" id="telefono" name="telefono" value="<?php echo htmlspecialchars($cliente['telefonoCliente']); ?>" required>
</div>
<div class="mb-3">
<label for="direccion" class="form-label">Dirección</label>
<input type="text" class="form-control" id="direccion" name="direccion" value="<?php echo htmlspecialchars($cliente['direccionCliente']); ?>" required>
</div>
<button type="submit" class="btn btn-primary">Guardar Cambios</button>
</form>
</div>
</div>
</div>
</body>
</html>