![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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
i podobne zapytania do sprawdzania punktów i odejmowania jak gość coś tam za te punkty kupi i stać go. |
|
|
![]()
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ć. |
|
|
![]()
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. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 17:13 |