Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> POST nie przesyła danych
zakonnik
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.11.2008

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


Witam,

Napisałem sobie taki mały skrypcik do zarządzania księgą gości(słuzy też do zarządznia działem linki stąd zmienna GET action):

  1. <?php
  2. function wyswietl($zapytanie){
  3. while ($row = mysql_fetch_array($zapytanie))
  4. {
  5. $imie = $row['imie'];
  6. $id = $row['id'];
  7. echo ('<option value="'.$id.'">'.$imie.'</option>');
  8. }
  9. echo('</select></td><td><input type="submit" value="wybierz" class="button"></td></tr></table></form>');
  10. }
  11.  
  12. function wyswietl_post($zapytanie)
  13. {
  14. global $id_zmiana;
  15. global $rezultat;
  16. while ($rezultat = mysql_fetch_array($zapytanie))
  17. {
  18. $id_zmiana = $rezultat['id'];
  19. echo ('
  20. <div id="ksiega_form">
  21. <form action="index.php?go=admin&lang='.$_GET['lang'].'&action=guestbook" method="POST">
  22. <p><input type="hidden" name="id_zmiana" value="'.$id_zmiana.'"></p>
  23. <table class="tabela_ksiega">
  24. <tr><td class="lewo_ksiega">Imię: </td>
  25. <td><input size="40" type="text" name="imie" value="'.$rezultat['imie'].'"></td>
  26. </tr>
  27. <tr>
  28. <td class="lewo_ksiega">e-mail: </td>
  29. <td><input size="40" type="text" name="mail" value="'.$rezultat['mail'].'"></td>
  30. </tr>
  31. <tr>
  32. <td class="lewo_ksiega">http:// </td>
  33. <td><input size="40" type="text" name="www" value="'.$rezultat['www'].'"></td>
  34. </tr>
  35. <tr>
  36. <td rowspan="2" class="lewo_ksiega" style="vertical-align:top;">Komentarz: </td>
  37. <td><textarea name="komentarz" cols="40" rows="10">'.$rezultat['komentarz'].'</textarea></td>
  38. </tr>
  39. <tr>
  40. <td><input type="submit" name="zmien" value="Zmień wpis" class="button"><input type="reset" value="Wyczyść" class="button"><input type="submit" name="usun" value="Usuń wpis" class="button"></td>
  41. </tr>
  42. </table>
  43. </form>
  44. </div>');
  45. }
  46. }
  47. $baza = 'baza';
  48. $baza_host = 'host';
  49. $baza_uzyszkodnik = 'user';
  50. $baza_haselko = 'haslo';
  51. $polaczenie = @mysql_connect($baza_host,$baza_uzyszkodnik,$baza_haselko) or die('Nie mogę się połączyć z bazą.');
  52. @mysql_select_db($baza,$polaczenie) or die('Nie mogę wybrać bazy');
  53. $zapytanie = mysql_query('SELECT imie,id FROM ksiega');
  54. echo('<form action="index.php?go=admin&lang='.$_GET['lang'].'&ksiega=select&action=guestbook" method="POST"><table><tr><td><select name="wybierz">');
  55. wyswietl($zapytanie);
  56.  
  57. if (isset($_POST['usun'])) $akcja2 = $_POST['usun'];
  58. elseif (isset($_POST['zmien'])) $akcja2 = $_POST['zmien'];
  59. else $akcja2 = 0;
  60. if (isset($_GET['ksiega'])) $akcja = $_GET['ksiega'];
  61. else $akcja = 0;
  62. if ($akcja === 'select') {
  63. $zapytanie = mysql_query('SELECT * FROM ksiega WHERE id = '.$_POST['wybierz'].'');
  64. wyswietl_post($zapytanie); }
  65. if ($akcja2 === 'Zmień wpis')
  66. {
  67. mysql_query("UPDATE ksiega SET imie='".$_POST['imie']."', mail='".$_POST['mail']."',www='".$_POST['www']."',komentarz='".$_POST['komentarz']."' WHERE id=".$_POST['id_zmiana']."");
  68. echo ("wpis zmieniony");
  69. }
  70. elseif ($akcja2 === 'Usuń wpis')
  71. {
  72. mysql_query("DELETE FROM ksiega WHERE id=".$_POST['id_zmiana']."");
  73. echo ('wpis usunięty');
  74. }
  75. else {}
  76. ?>



Problem polega na updacie bazy danych, dane wypisuje bezproblemowo, po wybraniu nicka pojawia się jego wpis, ale po kliknięciu na "usuń wpis" bądź "zmień wpis" nie uaktualnia bazy. Kod się wykonuje ponieważ mam wyświetlone echo('wpis usunięty'), wnioskuję z tego że nie przesyła danych potrzebnych do uaktualnień bazy danych metodą POST, tylko nie wiem dlaczego. Oczywiście mogę się mylić, nie jestem zaawansowany w programowaniu.

Ten post edytował erix 11.09.2009, 22:25:57
Powód edycji: [erix]: co to ma do programowania obiektowego?!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
kfc4
post
Post #2





Grupa: Zarejestrowani
Postów: 195
Pomógł: 18
Dołączył: 7.10.2007

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


Wyświetl gdzieś to zapytanie
Cytat
"DELETE FROM ksiega WHERE id=".$_POST['id_zmiana'].""

Np. po wpis usunięty. Dalej wykonaj to zapytanie gdzieś w phpMyAdminie, aha i wklej wynik na forum.
Go to the top of the page
+Quote Post
patryczakowy
post
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

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


spróbujtak
  1. if (isset($_POST['usun'])) $akcja2 = 'Usuń wpis';
  2. elseif (isset($_POST['zmien'])) $akcja2 = 'Zmień wpis';
  3. else $akcja2 = 0;
  4.  


--------------------
Sztuką jest widzieć to czego nie widać.
Go to the top of the page
+Quote Post
zakonnik
post
Post #4





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 18.11.2008

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


Cytat(kfc4 @ 12.09.2009, 07:38:21 ) *
Wyświetl gdzieś to zapytanie
Np. po wpis usunięty. Dalej wykonaj to zapytanie gdzieś w phpMyAdminie, aha i wklej wynik na forum.


Z bazą nie ma problemów, zapisuje jak należy. Po wpisaniu kodu patryczakowego zadziałało, i mała ciekawostka, po wróceniu do mojej wersji również działa O.o

Ten post edytował zakonnik 12.09.2009, 14:41:39
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 21.08.2025 - 21:20