Ei kuvausta

editMembers.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. <?php
  2. if ($_SERVER["REQUEST_METHOD"] == "POST") {
  3. $userid = $_POST["userid"];
  4. $correo = $_POST["correo"];
  5. $nombre = $_POST["nombre"];
  6. $organizacion = $_POST["organizacion"];
  7. $puesto = $_POST["puesto"];
  8. $urbanizacion = $_POST["urbanizacion"];
  9. $calle = $_POST["calle"];
  10. $pueblo = $_POST["pueblo"];
  11. $cpostal = $_POST["cpostal"];
  12. $telefono = $_POST["telefono"];
  13. $membresia = $_POST["membresia"];
  14. $vigencia = $_POST["vigencia"];
  15. $horas = $_POST["horasTrabajadas"];
  16. # Checks if necessary data is empty
  17. if(strlen($correo) == 0 or strlen($nombre) == 0 or strlen($urbanizacion) == 0 or strlen($calle) == 0 or
  18. strlen($pueblo) == 0 or strlen($cpostal) == 0 or strlen($telefono) == 0){
  19. http_response_code(400);
  20. echo json_encode(array("error" => "Informacion necesaria vacia."));
  21. exit();
  22. }
  23. # Ignores not properly formatted emails
  24. if (!filter_var($correo, FILTER_VALIDATE_EMAIL)) {
  25. http_response_code(400);
  26. echo json_encode(array("error" => "Email no valido."));
  27. exit();
  28. }
  29. include 'db.php';
  30. # Starts a transaction
  31. $conn->autocommit(FALSE);
  32. $conn->begin_transaction(MYSQLI_TRANS_START_READ_WRITE);
  33. $sql = "UPDATE Login SET correo = \"%s\" WHERE userid = %d;";
  34. $sql = sprintf($sql, $correo, $userid);
  35. if($conn->query($sql) === FALSE){
  36. http_response_code(500);
  37. echo json_encode(array("error" => "Error actualizando el correo (".$conn->error.")"));
  38. $conn->rollback();
  39. $conn->close();;
  40. exit();
  41. }
  42. if(strlen($vigencia) == 0){
  43. $sql = "UPDATE Miembro SET nombre = \"%s\", organizacion = \"%s\", puesto = \"%s\", urbanizacion = \"%s\",
  44. calle = \"%s\", pueblo = \"%s\", cpostal = \"%s\", telefono = \"%s\", membresia = \"%s\", vigencia = NULL,
  45. horasTrabajadas = %d WHERE userid = %d;";
  46. $sql = sprintf($sql, $nombre, $organizacion, $puesto, $urbanizacion, $calle, $pueblo, $cpostal, $telefono, $membresia, $horas, $userid);
  47. } else {
  48. $sql = "UPDATE Miembro SET nombre = \"%s\", organizacion = \"%s\", puesto = \"%s\", urbanizacion = \"%s\",
  49. calle = \"%s\", pueblo = \"%s\", cpostal = \"%s\", telefono = \"%s\", membresia = \"%s\", vigencia = \"%s\",
  50. horasTrabajadas = %d WHERE userid = %d;";
  51. $sql = sprintf($sql, $nombre, $organizacion, $puesto, $urbanizacion, $calle, $pueblo, $cpostal, $telefono, $membresia, $vigencia, $horas, $userid);
  52. }
  53. if($conn->query($sql) === FALSE){
  54. http_response_code(500);
  55. echo json_encode(array("error" => "Error actualizando informacion del miembro (".$conn->error.")"));
  56. $conn->rollback();
  57. $conn->close();
  58. exit();
  59. }
  60. # Commits changes
  61. $conn->commit();
  62. $conn->close();
  63. header("200 OK", true, 200);
  64. exit();
  65. } else {
  66. header($_SERVER["SERVER_PROTOCOL"]." 405 Method Not Allowed", true, 405);
  67. exit();
  68. }
  69. ?>