Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Pytania nt. logowania.
GoldeNx3
post 15.04.2011, 00:08:49
Post #1





Grupa: Zarejestrowani
Postów: 228
Pomógł: 1
Dołączył: 24.12.2010

Ostrzeżenie: (0%)
-----


Witam. Mam kilka pytań.

1. Mam skrypt z rejestracją, logowaniem etc. Gdy gracz się loguje i zaznaczy "Zapamiętaj", to przez 14 dni pamięta jego dane. Ale jak mogę sprawdzić, czy te dane wciąż istnieją?

2. W czym mogę przechowywać z bazy danych kto ile ma punktów? Ponieważ zapisałem je w sesji, czy to dobry wybór?

3. Jeżeli gracz wciśnie "Przypomnij hasło" to na emaila przyjdzie mu nowe hasło, a jak zrobić, by po wejściu na stronę, mógł je od razu zmienić?

Ten post edytował GoldeNx3 15.04.2011, 00:26:37
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
pmir13
post 15.04.2011, 00:27:34
Post #2





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


Dane przechowywane w sesji są ulotne. Sesje służą do tego, by wchodząc na różne podstrony lub na tą samą stronę pamiętać jakieś chwilowe stany, na przykład po to, by ktoś nie musiał się co chwilę logowac. Jeśli jednak chcesz pamiętać takie dane dłużej niż spodziewany w miarę ciągły czas spędzony przy przeglądarce bez wygaśnięcia sesji musisz zapisać to gdzieś indziej, w przypadku danych logowania oczywiście nasuwa się cookie, jako że chcemy powiązać te dane z komputerem gracza.
Punkty to już obowiązkowo w bazie danych, bo nie dotyczą komputera użytkownika, tylko jego postaci. Powinieneś mieć kolumnę punkty w tabeli users albo w tabeli accounts, jeśli można mieć więcej niż jedną postać i punkty mają być wspólne dla nich wszystkich. Zresztą przecież wywołujesz zapytanie do bazy danych w linii 13, więc logiczne że gdzieś indziej przy kupowaniu punktów musi być zapytanie typu
  1. UPDATE users SET points = points + iledodac WHERE login='jakistam'

i podobne zapytania do sprawdzania punktów i odejmowania jak gość coś tam za te punkty kupi i stać go.
Go to the top of the page
+Quote Post
GoldeNx3
post 15.04.2011, 00:38:15
Post #3





Grupa: Zarejestrowani
Postów: 228
Pomógł: 1
Dołączył: 24.12.2010

Ostrzeżenie: (0%)
-----


Tabele z punktami i to wszystko mam. Tylko chciałem się upewnić, czy przechowywanie punktów jest lepsze w sesji czy ciasteczku korzystając z bazy danych, ale wywnioskowałem, że w sesji.

To teraz jeżeli już gracz ma zapisane te ciasteczka, to przy wchodzeniu na stronę jak sprawdzić, czy zapisane dane w ciasteczkach figurują dalej w bazie? A jak nie, to po prostu wylogować.
Go to the top of the page
+Quote Post
pmir13
post 15.04.2011, 00:53:15
Post #4





Grupa: Zarejestrowani
Postów: 282
Pomógł: 89
Dołączył: 12.04.2011

Ostrzeżenie: (0%)
-----


Ciasteczka to są wartości zapisane w pliku znajdującym się na komputerze użytkownika, w folderze cookies lub podobnym odpowiednim dla jego przeglądarki.
W każdej przeglądarce możesz sobie wyświetlić jakie aktualnie masz zapisane cookies, możesz je także na przykład wyczyścić lub ręcznie zmienić.
Nie byłoby chyba dobrze gdyby ktoś mógł tam sobie punkty dodawać, nie sądzisz?
Baza danych znajduje się na twoim serwerze i użytkownik dostępu do niej nie ma (a przynajmniej nie powinien). Operacje na bazie danych wykonuje skrypt php na podstawie akcji użytkowników, możesz też zmieniać je ręcznie korzystając z jakiegoś klienta mysql, dane w bazie są trwałe i nie zmieniają się same z siebie.
Sesja wykorzystuje ciasteczka lub długie unikalne identyfikatory w urlu (GET) do zapisywania faktu korzystania z tej sesji przez użytkownika, a u ciebie na serwerze przechowywane są dla każdego identyfikatora sesji jakieś chwilowe dane. Sesja może wygasnąć, wtedy zapamiętane dane są tracone.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:13