Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql] Nie zapisuje do bazy danych
Forum PHP.pl > Forum > Przedszkole
ArthaS_Delano
Witam smile.gif

Mam problem ktory mnie zaskoczyl i nie umiem go rozwiazac mimo ze juz teraz wiem ze jest dziecinnie prosty ale widocznie o czyms zapomnialem..

Mam prosty kod ktory po wybraniu jednej z opcji uaktualni mi baze danych.. Tylko ze nie chce tego robic.. Polaczenie z baza danych jest ok bo wczytuje mi dane z niej.. Funkcja GET tez zostala prawidlowo wykonana poniewaz uzywajac smarty w pliku *.tpl wyswietla mi rzadany przezemnie tekst.. jedyne co to nie dodaje mi danych do bazy.. Zmienna sesyjna tez jest poprawna bo gdy wczytuje z bazy dziala poprawnie.. Oto kod:

  1. <?php
  2.  require_once("head_wybor.php");
  3.  
  4.  
  5. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'rasa') {
  6.  if (isset ($_GET['rasa']) && $_GET['rasa'] == 'czlowiek') {
  7.  
  8.  $result = mysql_query("UPDATE users SET rasa = 'czlowiek' WHERE username = '$_SESSION[username]'");
  9.  }
  10. }
  11. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'klasa') {
  12.  
  13. }
  14. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'profesja') {
  15.  
  16. }
  17. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'plec') {
  18.  
  19. }
  20.  
  21.  
  22.  // inicjalizacja zmiennej
  23. if (!isset($_GET['akcja'])) {
  24. $_GET['akcja'] = '';
  25. }
  26. if (!isset($_GET['rasa'])) {
  27. $_GET['rasa'] = '';
  28. }
  29.  
  30.  $smarty -> assign ( array("Akcja" => $_GET['akcja'], "Wybor_Rasa" => $_GET['rasa']));
  31.  $smarty -> display('wybor.tpl'); //Wywołujemy szablon do kompilacji
  32.  require_once("foot_wybor.php");
  33. ?>


Prosilbym o pomoc, przejrzalem juz kursy mysql ale wedlug nich all robie ok.. Nigdy nie mialem problemow z obsluga baz danych dlatego teraz nie wiem gdzie tkwi blad..

Z gory dziekuje za pomoc smile.gif
bajeczka
Zapisz $_SESSION do krotszej zmiennej.

  1. <?php
  2. $result = mysql_query("UPDATE users SET rasa = 'czlowiek' WHERE username = '$_SESSION[username]'");
  3. ?>


  1. <?php
  2. $username = $_SESSION['username'];
  3. $result = mysql_query("UPDATE users SET rasa = 'czlowiek' WHERE username = '".$username."'");
  4. ?>
ArthaS_Delano
Niestety to tez juz probowalem.. I nic nadal pole w bazie pozostaje puste.. Kiedy wpisalem w 'rasa' recznie cokolwiek to spokojnie moglem stamtad odczytac.. Niestety zapisac nie moge i nie wiem czemu..

EDIT:

Juz mam tongue.gif Palant ze mnie tongue.gif

Zamiast:

  1. <?php
  2. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'rasa') {
  3.  if (isset ($_GET['rasa']) && $_GET['rasa'] == 'czlowiek') {
  4.  
  5.  $result = mysql_query("UPDATE users SET rasa = 'czlowiek' WHERE username = '$_SESSION[username]'");
  6.  }
  7. }
  8. ?>


Powinno byc:

  1. <?php
  2. if (isset ($_GET['akcja']) && $_GET['akcja'] == 'rasa') {
  3.  
  4. }
  5.  
  6.  if (isset ($_GET['rasa']) && $_GET['rasa'] == 'czlowiek') {
  7.  
  8.  $result = mysql_query("UPDATE users SET rasa = 'czlowiek' WHERE username = '$_SESSION[username]'");
  9.  }
  10. ?>


Poprostu nie powinno byc jedno w drugim.. Dziekuje za checi smile.gif
Rude Dude
Fajny błąd, po prostu logika zawiodła. tongue.gif Każdemu może się zdarzyć.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.