Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyswietlenie id użytkownika zalogowanego
Forum PHP.pl > Forum > Przedszkole
peklo
witam
mam taki skrypt logowania i chciałbym żeby w sesji oprócz username był również widoczny id zalogowanego użytkownika i nie wiem jak to zrobićsad.gif

  1. public function userLogin() {
  2. $success = false;
  3. try{
  4. $con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
  5. $con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
  6. $sql = "SELECT * FROM users WHERE username = :username AND password = :password AND aktywny = :aktywny LIMIT 1";
  7. $stmt = $con->prepare( $sql );
  8. $stmt->bindValue( "username", $this->username, PDO::PARAM_STR );
  9. $stmt->bindValue( "password", hash("sha256", $this->password . $this->salt), PDO::PARAM_STR );
  10. $stmt -> bindValue("aktywny", 1, PDO::PARAM_INT);
  11. $stmt->execute();
  12.  
  13. $valid = $stmt->fetchColumn();
  14.  
  15. if( $valid ) {
  16. $success = true;
  17. $_SESSION['user']=$this->username;
  18. }
  19.  
  20. $con = null;
  21. return $success;
  22. }catch (PDOException $e) {
  23. echo $e->getMessage();
  24. return $success;
  25. }
  26. }


jak wklepuje
  1. <?php
  2. print '<pre>';
  3. print_r($_SESSION);
  4. print '</pre>';
  5. ?>

mam tylko
Array
(
[user] => mariusz
[logged] => 1
)
, a chce żeby było widoczne również id
Czy muszę wykonać ponowny select z bazy na podstawie username i dopiero pobrać do sesji id?

I drugie pytanie.
Jak można zrealizować tworzenie katalogu na podstawie id nowo zalogowanych użytkowników. potrzebne jest mi to do dodawania zdjęć użytkowników i chcę żeby każdy user miał swój unikatowy katalog
Turson
  1. if( $valid ) {
  2. $success = true;
  3. $_SESSION['user']=$this->username;
  4. $_SESSION['user_id'] = $valid['id'];
  5. }



Jak można zrealizować tworzenie katalogu na podstawie id nowo zalogowanych użytkowników. potrzebne jest mi to do dodawania zdjęć użytkowników i chcę żeby każdy user miał swój unikatowy katalog
>> mkdir()
peklo
niestety cos jest nie tak, bo zamiast id=10 pokazuje id=1
nospor
No to zobacz co zawiera $valid...

var_dump( $valid);
i bedziesz wiedzial gdzie problem
peklo
wyświetla null
nospor
A wyswietlasz tam gdzie trzeba??

if( $valid ) {

$success = true;

$_SESSION['user']=$this->username;
var_dump($valid); //TU MASZ TO WYSWIETLAC
$_SESSION['user_id'] = $valid['id'];

}

poza tym fetchColumn zwraca tylko pierwsza kolumne, a tu masz pobrac caly wiersz. No chyba ze czystym przypadkiem tą pierwsza kolumną jest ID, to wowczas nie $valid['id'] a poprostu $valid.
peklo
pojwia się
string(2)"10"
i co z tym zrobić?
nospor
toc napisalem:
to wowczas nie $valid['id'] a poprostu $valid.
peklo
dzięki
jesteś wielki.

a znajde gdzieś na forum jakis skrypt do zakładania katalogów na podtsawie id usera?
nospor
dostales przeciez: mkdir()
Nic wiecej ci nie potrzeba. Wlacz wkoncu szare komorki. Wkoncu probujesz programowac, a bez tego sie nie obejdzie
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.