<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $userid = $_POST["userid"]; $correo = $_POST["correo"]; $nombre = $_POST["nombre"]; $organizacion = $_POST["organizacion"]; $puesto = $_POST["puesto"]; $urbanizacion = $_POST["urbanizacion"]; $calle = $_POST["calle"]; $pueblo = $_POST["pueblo"]; $cpostal = $_POST["cpostal"]; $telefono = $_POST["telefono"]; $membresia = $_POST["membresia"]; $vigencia = $_POST["vigencia"]; $horas = $_POST["horasTrabajadas"]; # Checks if necessary data is empty if(strlen($correo) == 0 or strlen($nombre) == 0 or strlen($urbanizacion) == 0 or strlen($calle) == 0 or strlen($pueblo) == 0 or strlen($cpostal) == 0 or strlen($telefono) == 0){ http_response_code(400); echo json_encode(array("error" => "Informacion necesaria vacia.")); exit(); } # Ignores not properly formatted emails if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) { http_response_code(400); echo json_encode(array("error" => "Email no valido.")); exit(); } include 'db.php'; # Starts a transaction $conn->autocommit(FALSE); $conn->begin_transaction(MYSQLI_TRANS_START_READ_WRITE); $sql = "UPDATE Login SET correo = \"%s\" WHERE userid = %d;"; $sql = sprintf($sql, $correo, $userid); if($conn->query($sql) === FALSE){ http_response_code(500); echo json_encode(array("error" => "Error actualizando el correo (".$conn->error.")")); $conn->rollback(); $conn->close();; exit(); } if(strlen($vigencia) == 0){ $sql = "UPDATE Miembro SET nombre = \"%s\", organizacion = \"%s\", puesto = \"%s\", urbanizacion = \"%s\", calle = \"%s\", pueblo = \"%s\", cpostal = \"%s\", telefono = \"%s\", membresia = \"%s\", vigencia = NULL, horasTrabajadas = %d WHERE userid = %d;"; $sql = sprintf($sql, $nombre, $organizacion, $puesto, $urbanizacion, $calle, $pueblo, $cpostal, $telefono, $membresia, $horas, $userid); } else { $sql = "UPDATE Miembro SET nombre = \"%s\", organizacion = \"%s\", puesto = \"%s\", urbanizacion = \"%s\", calle = \"%s\", pueblo = \"%s\", cpostal = \"%s\", telefono = \"%s\", membresia = \"%s\", vigencia = \"%s\", horasTrabajadas = %d WHERE userid = %d;"; $sql = sprintf($sql, $nombre, $organizacion, $puesto, $urbanizacion, $calle, $pueblo, $cpostal, $telefono, $membresia, $vigencia, $horas, $userid); } if($conn->query($sql) === FALSE){ http_response_code(500); echo json_encode(array("error" => "Error actualizando informacion del miembro (".$conn->error.")")); $conn->rollback(); $conn->close(); exit(); } # Commits changes $conn->commit(); $conn->close(); header("200 OK", true, 200); exit(); } else { header($_SERVER["SERVER_PROTOCOL"]." 405 Method Not Allowed", true, 405); exit(); } ?>