Jak zapamiętać zmienną aby była widoczna na wszystkich stronach tego samego serwisu

0

Witam, gdzieś w necie znalazłem w miarę bezpieczną metodę logowania użytkowników jeśli login i hasło są zgodne z wpisem do bazy danych.

Teraz zmagam się z identyfikacją użytkownika w przypadku jego działań na bazie danych. Tzn. pozwalam mu na jakąś czynność, ale chce wiedzieć, że to właśnie ten użytkownik ją wykonał. Rozwiązanie jakie przyszło mi do głowy to zapisać po logowaniu jego login do zmiennej globalnej i uwzględniać jego nazwę przy akcjach zapytaniami, które oprócz wykonania jakiejś czynności wpiszą w kolumnę "kto" jego login. Pewnie jest to karkołomne rozwiązanie, ale jedyne jakie przyszło mi do głowy.

W ramach prośby o poradę podam przykład co chcę osiągnąć.

Załóżmy, że mamy sklep internetowy w którym można kupić mleko, czekoladę i herbatę.

Wszystkiego mamy po jednej sztuce, dlatego chcę, aby gdy użytkownik kupi mleko, nie było już tego mleka widocznego w bazie dla innych użytkowników (to jest akurat proste, bo chodzi o zwykłe zapytanie sql), ale oprócz tego ja, jako administrator chce wiedzieć kto zamówił sobie to mleko. I właśnie stąd pomysł na moje rozwiązanie - tutaj pytanie czy dobre?

Z góry dziękuję za pomoc.

0

Myślę, że nie potrzebujesz zmiennej globalnej, która zresztą by się za wiele nie przydała. Nazwę użytkownika zapisz w sesji, np. $_SESSION['user'] = $userName;. $_SESSION jest tablicą superglobalną, więc widoczną w każdym skrypcie.

0

Najprościej to stwórz dodatkową tabele z Id autoincrement oraz inne dodatkowe pola np UserId, po zalogowaniu dopisujesz do niej rekord a do każdej podstrony przekazujesz przez sesje lub przez <input type="hidden" ... > lub przez zwykłe parametry Id z tej dodatkowej tabeli.

0

Ok dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1