Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z pobieraniem nicku z MySQL
Forum PHP.pl > Forum > Przedszkole
o2w5n778
Witam!
Mam pewne pytanie. Właśnie napisałem sobie z palca bardzo prosty system logowania jako przykład dotyczący mojego pytania.
  1. <?php
  2. $nick = $_POST['nick'];
  3.  
  4. $query(mysql_query("SELECT * FROM users WHERE nick='$nick'"));
  5. $show = (mysql_fetch_array($query));
  6.  
  7. if(mysql_num_rows($query) == 1){
  8. $_SESSION['zalogowany'] = 1;
  9. }
  10.  
  11. if(!isset($_SESSION['zalogowany'])){
  12. ?>
  13.  
  14. <form method="post" action="">
  15. Haslo: <input type="text" name="nick">
  16. <input type="submit" value="zaloguj">
  17. </form>
  18. </form>
  19.  
  20. <?php
  21.  
  22. }
  23.  
  24. if(isset($_SESSION['zalogowany'])){
  25. echo('witaj: '.$show['nick']);
  26. }
  27.  
  28. ?>


Gdy się zaloguję wyświetla się "Witaj: Nick", ale czemu gdy np. odświeżę stronę nie wyświetla już nicku tylko "Witaj: ".
Nick pobieram z mysql
  1. $show['nick']
sadistic_son
Bo po przeładowaniu strony zmienna $show['nick'] już nie istnieje. A nie istnieje dlatego, że nie wykona się zapytanie. A nie wykona się zapytanie bo nie istnieje już zmienna $_POST['nick'].
Jak chcesz wyswietlac nick zalogowanego to zapisuj go do sesji (tutaj w linijce 9 - nick zamiast jedynki) i wyswietlaj go z sesji.
o2w5n778
Teraz po przeładowaniu się zupełnie wylogowywuje
sadistic_son
BZdura, nie ma prawa się wylogowywać skoro nawe nie masz nigdzie session_destroy czy unset.
Zrób tak:
  1. //linijki od 3 do 10
  2. if(isset($_POST['zaloguj'])){
  3. $nick = $_POST['nick'];
  4.  
  5. $query=mysql_query("SELECT * FROM users WHERE nick='$nick' LIMIT 1");
  6. $show = mysql_fetch_assoc($query);
  7.  
  8. if(mysql_num_rows($query) > 0){
  9. $_SESSION['zalogowany'] = $show['nick'];
  10. }
  11. }
  12. //linijka 17
  13. echo '<input type="submit" name="zaloguj" value="zaloguj">';
  14. //linijka 26
  15. echo 'witaj: '.$_SESSION['zalogowany'];
  16. //linijke 19 wywalp
Nie ma opcji aby to nie działało.
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.