update.php 3.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. <?php
  2. $db = new mysqli('especificosba.com.ar', 'especificosba', 'howdoiturnthison', 'mailing');
  3. if($db->connect_errno > 0)
  4. die('Unable to connect to database [' . $db->connect_error . ']');
  5. if($db->connect_errno > 0){ die('Unable to connect to database [' . $db->connect_error . ']'); }
  6. if ($_SERVER['REQUEST_METHOD']=="POST") {
  7. $postdata = file_get_contents("php://input");
  8. $request = json_decode($postdata);
  9. if(!isset($request)){
  10. http_response_code(401); #Unauthorized
  11. die("no postdata");
  12. }
  13. if(!$stmt = $db->prepare("UPDATE mails_datos SET nombre=?, apellido=?,prefijo=?,telefono=?,zona=?,provincia=?,pais=?,dia=?,mes=?,infocursos=? where hash=? and mail=?"))
  14. die("no pude preparar" . $db->error);
  15. if(!$stmt->bind_param('sssssssdddss',
  16. $request->nombre,$request->apellido,$request->prefijo,$request->telefono,
  17. $request->zona,$request->provincia,$request->pais,
  18. $request->dia,$request->mes,$request->infocursos,$request->hash,$request->email))
  19. die("errorbinding");
  20. if (!$result = $stmt->execute())
  21. die("errorejec");
  22. if($db->affected_rows==0){
  23. http_response_code(401);
  24. echo json_encode(array("mensaje" => "No se han producido cambios"));
  25. } else {
  26. echo json_encode(array("mensaje" => "Tus datos han sido enviados, muchas gracias"));
  27. }
  28. } elseif ($_SERVER['REQUEST_METHOD']=="PUT") {
  29. if(!$stmt = $db->prepare("insert into mails_datos(nombre,apellido,prefijo,telefono,zona,provincia,pais,dia,mes,infocursos,mail) values(?,?,?,?,?,?,?,?,?,?,?)"))
  30. die("no pude preparar" . $db->error);
  31. parse_str(file_get_contents("php://input"),$arr); //PUT
  32. $request=json_decode(key($arr));
  33. if(!$stmt->bind_param('sssssssddds',
  34. $request->nombre,$request->apellido,$request->prefijo,$request->telefono,
  35. $request->zona,$request->provincia,$request->pais,
  36. $request->dia,$request->mes,$request->infocursos,$request->email))
  37. die("errorbinding" . $stmt->error);
  38. if (!$result = $stmt->execute()){
  39. http_response_code(401);
  40. echo json_encode(array("mensaje" => "ya estabas en la base"));
  41. exit;
  42. }
  43. if($db->affected_rows==0){
  44. echo json_encode(array("mensaje" => "no te pude registrar"));
  45. } else {
  46. echo json_encode(array("mensaje" => "registrado ok"));
  47. }
  48. } elseif ($_SERVER['REQUEST_METHOD']=="GET") {
  49. $stmt = $db->prepare("select nombre, apellido,prefijo,telefono,zona,provincia,pais,dia,mes,mail,infocursos,hash from mails_datos where mail=?");
  50. $hash=$_GET['hash'];
  51. $mail=$_GET['mail'];
  52. $stmt->bind_param('s',$mail);
  53. $stmt->execute();
  54. $stmt->bind_result($nombre,$apellido,$prefijo,$telefono,$zona,$provincia,$pais,$cumple_dia,$cumple_mes,$mail,$infocursos,$dbhash);
  55. if($stmt->fetch()){
  56. if($hash==$dbhash) {
  57. $out=array("nombre" => $nombre,
  58. "apellido" => $apellido,
  59. "prefijo" => $prefijo,
  60. "telefono" => $telefono,
  61. "zona" => $zona,
  62. "provincia" => $provincia,
  63. "pais" => $pais,
  64. "email" => $mail,
  65. "infocursos" => $infocursos,
  66. "dia" => $cumple_dia,
  67. "mes" => $cumple_mes);
  68. echo json_encode($out);
  69. } else {
  70. http_response_code(402);
  71. echo json_encode(array("mensaje" => "El hash no coincide"));
  72. }
  73. } else {
  74. http_response_code(401); #Unauthorized
  75. echo json_encode(array("mensaje" => "No estas en nuestra base de datos? Registrate!"));
  76. }
  77. }
  78. $db->close();