Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] wyświetlanie nicku zalogowanego usera
Forum PHP.pl > Forum > Przedszkole
-Kokosz-
Witam

Mam problem taki jak w tytule - mianowicie, jak mogę wyświetlić na dowolnej podstronie nick zalogowanego usera?
Korzystam z tego skryptu rejestracji i logowania - http://webmade.org/porady/sesje-php-system-logowania.php

To moja przykładowa podstrona

  1. <?php
  2. session_start();
  3. ?>
  4. <!DOCTYPE html
  5. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  8. <title>podstrona</title>
  9. </head>
  10. <?php
  11. if($_SESSION["zalogowany"]==0){echo "nie masz dostępu do tej części witryny. <a href='index.php'>Zaloguj się</a></body></html>;"; exit();}
  12. ?>Witaj [tutaj login usera]!


i w jaki sposób wyświetlić jego nick? Proszę o jakiś przykład, lub wytłumaczone w sposób łopatologiczny : )

Pozdrawiam
potreb
Skoro zapisujesz że ktoś jest zalogowany i pobierasz wartość z sesji zalogowania to zapewne pobierasz również nick z sesji lub z bazy? To w czym problem?
-Kokosz-
no właśnie problem z tym że jestem kompletnie zielony. Możesz rzucić okiem na ten skrypt i powiedzieć jak to zrobić? Lub ktoś kto wie jak to zrobić? smile.gif

Pozdrawiam
blooregard
Ten kod:

  1. (...)
  2. if($_SESSION["zalogowany"]!=1){
  3. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  4. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  5. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  6. $_SESSION["zalogowany"]=1;
  7. }
  8. else echo ShowLogin("Podano złe dane!!!");
  9. }
  10. else ShowLogin();
  11. }
  12. (...)


zamień na:

  1. (...)
  2. if($_SESSION["zalogowany"]!=1){
  3. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  4. $result = mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'");
  5. $row = mysql_fetch_row($result);
  6. if($row['user_login']){
  7. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  8. $_SESSION["zalogowany"]=1;
  9. $_SESSION['user_login'] = $row['user_login'];
  10. }
  11. else echo ShowLogin("Podano złe dane!!!");
  12. }
  13. else ShowLogin();
  14. }
  15. (...)


A następnie dodaj w miejscu, gdzie chcesz wyświetlić nick zalogowanego usera:
  1. echo $_SESSION['user_login'];

-Kokosz-
pułapka ! ten kod nie działa dobrze. Wyrzuca ciagle "Podales zle dane" przy probie logowania.
blooregard
Cytat(-Kokosz- @ 8.11.2011, 23:50:13 ) *
pułapka ! ten kod nie działa dobrze. Wyrzuca ciagle "Podales zle dane" przy probie logowania.


A weź po tym:

  1. $result = mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'");
  2. $row = mysql_fetch_row($result);


dodaj:
  1. var_dump($row);


i wklej tu co pokazało.
-Kokosz-
Proszę bardzo:
  1. array(5) { [0]=> string(1) "4" [1]=> string(1) "s" [2]=> string(1) "s" [3]=> string(1) "s" [4]=> string(1) "s" }


blooregard
To jeszcze przed tym var_dump($row) dodaj:

  1. var_dump($result)


i wklej wynik.
-Kokosz-
proszę:
  1. resource(2) of type (mysql result) array(5) { [0]=> string(1) "4" [1]=> string(1) "s" [2]=> string(1) "s" [3]=> string(1) "s" [4]=> string(1) "s" }
blooregard
Ehhh, kurczę, tak to jest po 16 godzinach przed kompem, człowiek nie widzi rzeczy oczywistych.

W tym fragmencie, co Ci podałem wcześniej:

  1. if($_SESSION["zalogowany"]!=1){
  2. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  3. $result = mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'");
  4. $row = mysql_fetch_row($result);
  5. if($row['user_login']){
  6. echo "Zalogowano poprawnie. <a href='index.php'>Przejdź na stronę główną</a>";
  7. $_SESSION["zalogowany"]=1;
  8. $_SESSION['user_login'] = $row['user_login'];
  9. }
  10. else echo ShowLogin("Podano złe dane!!!");
  11. }
  12. else ShowLogin();
  13. }


zamień
  1. $row = mysql_fetch_row($result);


na

  1. $row = mysql_fetch_assoc($result);
-Kokosz-
no kurczę ! teraz działa jak natura chciała smile.gif dzięki wielkie za pomoc, jesteś wielki. Wiszę Ci piwo ! : ))
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.