![]() |
![]() |
![]()
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: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Testowałem to i wygląda na to, że działa Włącz raportowanie błędów, to przestanie. (IMG:style_emoticons/default/winksmiley.jpg) (wskazówka: masz stałe, których używasz w kluczach tablic?) Cytat 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. Najprostsze rozwiązania są najlepsze. Chyba w którymś przyklejonym wątku został poruszony problem powtórnego wysyłania danych. |
|
|
![]()
Post
#3
|
|
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. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 1 Dołączył: 19.09.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Serialuję tutaj akurat z innego powodu - aby zachować tablice związaną z koszykiem. Za pomocą serializacji mogę od razu wywołać klasę z wartością zmiennych (id, ilość itd.), aczkolwiek pewnie też dałoby się to zrobić w ten sposób że za każdym razem jest uruchamiana klasa, do której podaję tablicę zapisaną za pomocą sesji czyli byłoby $cart=new basket_head($_SESSION[cart]). Ale opcja z serializacją nie jest głupia też (IMG:style_emoticons/default/winksmiley.jpg)
Co do przekierowania: to user jest przekierowywany do innej strony - po to też zapisuje w sesji jego login. Nie bardzo rozumiem o co chodzi z tymi stałymi jako kluczami, nie można używać znaków $_SESSION['cart'] , musi być $_SESSION[cart]? |
|
|
![]()
Post
#5
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Cytat Nie bardzo rozumiem o co chodzi z tymi stałymi jako kluczami, nie można używać znaków $_SESSION['cart'] , musi być $_SESSION[cart]? Popatrz teraz na swój kod i powiedz, czy jesteś świadom tego, co powiedziałeś. (IMG:style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 1 Dołączył: 19.09.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
No nie bardzo wiem, o co Ci chodzi, możesz jaśniej?
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Kłania się czytanie ze zrozumieniem...
Powiedziałeś zupełnie odwrotnie - w kodzie masz pseudostałe, w poście wyżej mówisz zupełnie na odwrót... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 1 Dołączył: 19.09.2006 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Czyli dobrze będzie:
zamiast:
(IMG:style_emoticons/default/snitch.gif) ? |
|
|
![]()
Post
#9
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Włącz sobie raportowanie błędów i zobacz... (IMG:style_emoticons/default/sciana.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 15.09.2025 - 22:05 |