![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 1 Dołączył: 19.09.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Mam takie pytanie. Na początku kodu inicjuję koszyk:
Na końcu kodu go serializuję: I teraz tworząc funkcje do zapisu użytkownika robię coś takiego:
Czyli jeżeli poprawnie został dodany rekord, no to zapisuję w sesji login usera, serializuję koszyk i robię przekierowanie headerem. Jeżeli są błędy to jest zwracany formularz bez użycia funkcji header (z danymi z tablicy $_POST) Testowałem to i wygląda na to, że działa - ale chciałbym się spytać czy to jest optymalne rozwiązanie? Header jest po to, by przenieść usera na nową stronę i nie pozwolić mu np. na ponowne przesłanie danych za pomocą refresh. Oczywiście, jeżeli po drodze wyskoczy jakiś błąd to nie dojdzie do serializacji koszyka i zostanie on zgubiony. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, a cel tego?
1. Po co serializować? Serializuje tablicę się zazwyczaj wtedy, jeśli chcemy ją zapisać do pliku .cfg, przecież każda zmienna może być równie dobrze tablicą, nawet $_POST['formularz']. 2. Przekierowania nie są zalecane ze względu na wydajność i logikę - po co przekierowywać usera do strony, na której już jest? Aby się zabezpieczyć przed F5 czy przypadkowym błędem, wystarczy nadać każdemu formularzowi pole hidden z value: - i sprawdzić, czy nowy formularz ma nowy token. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.10.2025 - 13:04 |