Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobranie danych z bazy danych
Forum PHP.pl > Forum > Przedszkole
Na 5tyk
Witam. Chciałbym zrobić profil w systemie, który został umieszczony na stronie http://webmade.org/porady/sesje-php-system-logowania.php .

W profilu miałby się znajdować login.
alekss
Więc w czym problem skoro wszystko jest opisane ?
Na 5tyk
Chodzi o to aby wyciągnąć login jeżeli jestem zalogowany.
alekss
robisz zapytanie przykladowo :
  1. if(isset($_SESSION['id']))
  2. {
  3. $q=mysql_fetch_assoc(mysql_query("SELECT * FROM `uzytkownicy` WHERE `id`='".$_SESSION['id']."'"));
  4. $_SESSION['id']=$q['id'];
  5. $_SESSION['user']=$q['user'];
  6. }


i robisz to za pomoca sesji
kiker91
A gdzie konkretniej to zapytanie powinno zostać dodane questionmark.gif
Na 5tyk
Wkleiłem ten kodzik w profile.php, wziełem echo $q['user'], ale nie wyświetliło mi loginu sad.gif.


Mógłbyś podać przykładową stronę w PHP z Profilem żeby nick się wyświetlał na niej?
b4rt3kk
Wartość jest przechowywana w zmiennej sesyjnej, także to ją wyświetlaj na stronie.
Na 5tyk
Mój plik profile.php:

  1. <?php
  2. session_register("zalogowany");
  3.  
  4. require_once('config.php');
  5. require_once('header.php');
  6.  
  7. if(isset($_SESSION['id']))
  8. {
  9. $q=mysql_fetch_assoc(mysql_query("SELECT * FROM `users` WHERE `user_id`='".$_SESSION['id']."'"));
  10. $_SESSION['id']=$q['id'];
  11. $_SESSION['user']=$q['user'];
  12. }
  13.  
  14. echo 'Login: '.$_SESSION['user'];
  15.  
  16. mysql_close(); //zamykanie połączenia z bazą
  17. ?>


Jednak dalej nie wyświetla loginu
b4rt3kk
Nie widzisz tu pewnej sprzeczności? Przyjrzyj się zapytaniu, a dokładniej warunkowi WHERE, porównujesz user_id ze zmienną sesyjną, która jest dopiero tworzona wewnątrz pętli przetwarzającej wyniki. A zaproponowany kod przez kolegę alekss nie ma najmniejszego sensu.

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


Tak to powinno wyglądać, teraz możesz sobie wyświetlić w dowolnym miejscu $_SESSION['login']. Fragment powyższego kodu pochodzi z 'Strona główna serwisu' z moimi lekkimi modyfikacjami.
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.