Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][MySQL][PHP] prosty formularz ajax
dentopolis
post
Post #1





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


chciałbym zapisywać ajaxem bardzo prosty formularz:
klient|dataspotkania

np:
Adam|2017-05-14
Karol|2017-06-02

ze stackoverflow mam działający kod tzn pojawia się zielony komunikat że dane zostały przesłane...ale ten drugi plik nie zapisuje i nie odczytuje mysql.

jak w tym drugim pliku zapisującym, pobrać dane (GET? POST?) i utworzyć zapytanie do bazy?

mam ten kod:stackoverflow
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dentopolis
post
Post #2





Grupa: Zarejestrowani
Postów: 252
Pomógł: 0
Dołączył: 14.08.2016

Ostrzeżenie: (0%)
-----


wykorzystałem przykład z podanego linku który kasował rekordy.ja chcę robić update i tak ustawiłem zapytanie. co w tym momencie jest błędne?

index.php
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
  6. <script>
  7. $(function() {
  8. $('#technik').on('submit', function(event) {
  9. event.preventDefault();
  10. $.ajax({
  11. url: "technikajax.php",
  12. method: "POST",
  13. data: $(this).serialize()
  14. })
  15. .done(function(data, textStatus, jqXHR) {
  16. $('#message').html(data.message);
  17. })
  18. .fail(function(jqXHR, textStatus, errorThrown) {
  19. $('#message').html(jqXHR.responseJSON.message);
  20. });
  21. });
  22. });
  23. </script>
  24. </head>
  25. <body>
  26. <div id="message"></div>
  27. <form action="POST" id="technik">
  28.  
  29. <input type="hidden" name="action" value="update">
  30.  
  31.  
  32.  
  33. <table border="1" width="50%">
  34. <thead>
  35. <tr>
  36. <td align="center">id</td>
  37. <td align="center">pacjent</td>
  38. <td align="center">technik</td>
  39. <td align="center">gabinet</td>
  40. <td align="center">umówiony</td>
  41. </tr>
  42. </thead>
  43. <tbody>
  44. <tr>
  45. <td align="center"><input type="text" name="id"></td>
  46. <td align="center"><input type="text" name='pacjent1' size='20' value='<?php $pacjent1 ?>'></td>
  47. <td align="center"><input type="text" name='technik1' size='1' value='<?php $technik1 ?>'></td>
  48. <td align="center"><input type="text" name='gabinet1' size='1' value='<?php $gabinet1 ?>'></td>
  49. <td align="center"><input type="text" name='umowiony1' size='1' value='<?php $umowiony1 ?>'></td>
  50. </tr>
  51.  
  52. <tr>
  53. <td align="center"><input type="text" name="id"></td>
  54. <td align="center"><input type="text" name='pacjent2' size='20' value='<?php $pacjent2 ?>'></td>
  55. <td align="center"><input type="text" name='technik2' size='1' value='<?php $technik2 ?>'></td>
  56. <td align="center"><input type="text" name='gabinet2' size='1' value='<?php $gabinet2 ?>'></td>
  57. <td align="center"><input type="text" name='umowiony2' size='1' value='<?php $umowiony2 ?>'></td>
  58. </tr>
  59. </tbody>
  60. </table>
  61.  
  62. <input type="submit">
  63. </form>
  64. </body>
  65. </html>
  66.  
  67.  
  68. technikajax.php
  69.  
  70. [php]
  71. <?php
  72. header("Content-Type: application/json;charset=utf-8");
  73.  
  74. $id = (int) $_POST['id'];
  75. $pacjent1 = (int) $_POST['pacjent1'];
  76. $technik1 = (int) $_POST['technik1'];
  77. $gabinet1 = (int) $_POST['gabinet1'];
  78. $umowiony1 = (int) $_POST['umowiony1'];
  79. $action = $_POST['action'] (IMG:style_emoticons/default/questionmark.gif) null;
  80.  
  81. if ($action === 'update') {
  82. try {
  83. $dbh = new PDO('mysql:dbname=gabinet;host=127.0.0.1', 'root', '', [
  84. PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
  85. ]
  86. );
  87. $dbh->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  88. $sql = "UPDATE technik SET pacjent='$pacjent1', technik='$technik1', gabinet='$gabinet1', umowiony='$umowiony1' WHERE id = ?";
  89. $sth = $dbh->prepare($sql);
  90. $sth->execute([$id]);
  91. echo json_encode([
  92. 'message' => sprintf('zaktualizowano %d rekordów', $sth->rowCount())
  93. ]);
  94. } catch(PDOException $e) {
  95. http_response_code(500);
  96. echo json_encode([
  97. 'message' => 'Klasa PDO zwróciła wyjątek: ' . $e->getMessage()
  98. ]);
  99. }
  100. } else {
  101. http_response_code(500);
  102. echo json_encode([
  103. 'message' => 'Nieprawidłowa akcja'
  104. ]);
  105. }

[/php]
Go to the top of the page
+Quote Post

Posty w temacie
- dentopolis   [AJAX][MySQL][PHP] prosty formularz ajax   23.05.2017, 22:49:47
- - bostaf   Do process.php dane POST i GET przekazuje się jako...   24.05.2017, 10:23:13
- - dentopolis   dzięki za pomoc, ale jeszcze coś nie działa: obecn...   24.05.2017, 11:29:14
- - viking   if (empty($_POST['pacjent1'] Wysyłasz...   24.05.2017, 11:32:54
- - dentopolis   nie rozumiem. czyli w pliku technik.php wszystko m...   24.05.2017, 19:48:30
- - viking   Ma być tak, jak to ustawiasz w type. Ty decydujesz...   24.05.2017, 20:15:34
- - dentopolis   czyli zamiast dataType ma być 'text'? ...   24.05.2017, 21:10:04
- - viking   Nie widzę żebyś poprawił cokolwiek o czym była mow...   25.05.2017, 07:01:48
- - dentopolis   sorry viking ale Twoje odpowiedzi są tak enigmatyc...   25.05.2017, 09:47:25
- - viking   Ja ci piszę o type, a ty swoje dataType. Podałem c...   25.05.2017, 10:03:21
- - kayman   to jest źle i jest tego za dużo źle - poczytaj jak...   25.05.2017, 10:10:42
- - bostaf   Cytat(dentopolis @ 25.05.2017, 10:47...   25.05.2017, 11:27:19
- - dentopolis   w konsoli widzę prawidłowo przesyłane wartości: ...   25.05.2017, 22:29:59
- - viking   Patrz. Oburzyles się na zwrócenie uwagi ale z poda...   26.05.2017, 04:33:26
- - dentopolis   wykorzystałem przykład z podanego linku który kaso...   26.05.2017, 08:55:50
- - viking   Rzutujesz wszystkie dane będące stringami na int. ...   26.05.2017, 09:04:30
- - dentopolis   1)czyli zamiast: [PHP] pobierz, plaintext $pacjent...   26.05.2017, 12:47:59
- - nospor   skaldnia, ktora ci podano a masz parse error, wyma...   26.05.2017, 13:09:30
- - viking   Stringiem sa domyślnie więc nie musisz rzutować. P...   26.05.2017, 13:28:08
- - dentopolis   więc mam taki kod i odpowiedź "zaktualizowano...   26.05.2017, 15:09:26
- - viking   $sth->execute([$pacjent1, $techn...   26.05.2017, 15:18:21
- - dentopolis   nic to nie zmieniło, ten sam komunikat   26.05.2017, 17:08:31
- - nospor   var_dump($id);   26.05.2017, 17:09:17


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 08:25