Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Edycja danych w tabeli z formularza
jg44
post
Post #1





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Witam,
mam pewien problem z napisaniem skryptu, za pomocą którego można edytować dane w tabeli. Polega on na tym, że po kliknięciu guzika 'zmień dane' nic się nie dzieje w bazie.
Najpierw pobieram dane z tabeli, następnie przenoszę je do poszczególnych pól formularza, niestety po kliknięciu przycisku dane nie zostają zmienione.
Jestem początkujący w PHP.
Kod wygląda następująco:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. </head>
  6. <body>
  7. <?
  8. require("KONFIGURACJA.php");
  9. if(isset($_SESSION['zalogowany']))
  10. {
  11. echo "Witaj, ".$_SESSION['login'].".<br />";
  12. echo "<a href='wyloguj.php'>Wyloguj</a><br /><br />";
  13.  
  14. $uzytkownik = $_SESSION['login'];
  15. $sql = "SELECT * FROM uzytkownicy WHERE login='$uzytkownik'";
  16. $rezultat = mysql_query($sql, $polacz) or die(mysql_error());
  17.  
  18. if(mysql_num_rows($rezultat) > 0)
  19. {
  20. while ($wynik = mysql_fetch_assoc($rezultat))
  21. {
  22. $imie = $wynik['imie'];
  23. $nazwisko = $wynik['nazwisko'];
  24. $dataurodzenia = $wynik['data_urodzenia'];
  25. $wojewodztwo = $wynik['wojewodztwo'];
  26. $miasto = $wynik['miasto'];
  27. $poziomzaawansowania = $wynik['poziom_zaawansowania'];
  28. $dodatkoweinformacje = $wynik['dodatkowe_informacje'];
  29. }
  30.  
  31. echo "<form action='edytuj.php' method='post'>";
  32. echo "<table>";
  33. echo "Imię:<input type='text' name='imie' value='$imie' />";
  34. echo "Nazwisko:<input type='text' name='nazwisko' value='$nazwisko' />";
  35. echo "Data urodzenia:<input type='text' name='dataurodzenia' value='$dataurodzenia' />";
  36. echo "Województwo:<input type='text' name='wojewodztwo' value='$wojewodztwo' />";
  37. echo "Miasto:<input type='text' name='miasto' value='$miasto' />";
  38. echo "Poziom zaawansowania:<input type='text' name='poziomzaawansowania' value='$poziomzaawansowania' />";
  39. echo "Dodatkowe informacje:<input type='text' name='dodatkoweinformacje' value='$dodatkoweinformacje' />";
  40. echo "</table>";
  41. echo "<input type='submit' value='Zmień swoje dane' name='wyslany' />";
  42. echo "</form>";
  43. }
  44. else { echo "Brak rekordów w tabeli.<br />"; }
  45.  
  46. if(isset($_POST['wyslany']))
  47. {
  48. $sql2 = "UPDATE uzytkownicy SET imie='".$_POST['imie']."' AND nazwisko='".$_POST['nazwisko']."' AND data_urodzenia='".$_POST['dataurodzenia']."' AND wojewodztwo='".$_POST['wojewodztwo']."' AND miasto='".$_POST['miasto']."' AND poziom_zaawansowania='".$_POST['poziomzaawansowania']."' AND dodatkowe_informacje='".$_POST['dodatkoweinformacje']."' WHERE login='$uzytkownik'";
  49. mysql_query($sql2, $polacz) or die(mysql_error());
  50. echo "Zmieniono dane.";
  51. }
  52. }
  53. else { echo "Nie jesteś zalogowany.<br />"; }
  54. ?>
  55. </body>
  56. </html>


Z góry dziękuję za pomoc,
pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
YaQzi
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


w UPDATE nie ma żadnego AND. Tutaj masz składnię.
Go to the top of the page
+Quote Post
jg44
post
Post #3





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Heh, wiedziałem, że jakiś idiotyczny błąd paraliżuje ten skrypt.
Wielkie dzięki YaQzi! (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czegoś nie rozumiem... miałeś ewidentny błąd zapytania czyli ten kod:
mysql_query($sql2, $polacz) or die(mysql_error());
powinien wypluć ci na ekran komunikat błędu.
Czemu więc ci nie wypluł?
Albo czemu ci wypluł a ty nam tego komunikatu nie pokazałeś?
Go to the top of the page
+Quote Post
jg44
post
Post #5





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Nie wypluł mi żadnego błędu, dlaczego to nie wiem. Po kliknięciu przycisku po prostu nic się nie działo (tzn. w bazie danych). Żadnych warningów ani innych nie było.
Oczywiste jest, że gdyby komunikat o błędzie się pojawił, to napisałbym go tutaj, nie po to piszę posta z prośbą o pomoc, żeby inni się domyślali, co mi nie działa. (IMG:style_emoticons/default/wink.gif)

Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Czyli jak poprawiłeś, to co poprzednik napisał, to juz wszystko działa? No to jakieś dziwy się tu dzieją (IMG:style_emoticons/default/wink.gif)

edit: a nie , przepraszam. Faktycznie wersja z AND nie pluje błędami (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jg44
post
Post #7





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Dokładnie tak, po poprawieniu zgodnie z tym, co przedmówca napisał, wszystko śmiga. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Tak, tak, jak napisałem w poprzednim poście wersja z AND faktycznie nie pluje błędami. A to dlatego, że wówczas te AND traktowane jest jako wyrażenie logiczne i całe to wyrażenie logiczne zapisuje się w twoim pierwszym polu które dałeś po SET (IMG:style_emoticons/default/smile.gif)
Jakbyś uważniej patrzył to byś zobaczył, że w bazie nagle zaczęły w polu imie pojawiać się 0 i 1 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
jg44
post
Post #9





Grupa: Zarejestrowani
Postów: 122
Pomógł: 14
Dołączył: 14.07.2011
Skąd: Gliwice / Wrocław

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


Właśnie zauważyłem, że nie wiedzieć czemu zaczęło mi się 0 pojawiać w pierwszym polu tekstowym zamiast edytowanych danych. To przy okazji mi powiedziałeś, dlaczego. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

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: 17.09.2025 - 13:04