Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> serialize przed header, Czy to jest dobry pomysł?
Civil
post
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:
  1. if (isset($_SESSION['cart']) and unserialize($_SESSION['cart']))
  2. {
  3. include_once("classes/class.basket_head.php");
  4.  
  5. $cart = unserialize($_SESSION['cart']);
  6. }
  7. else
  8. {
  9. $cart = new basket_head();
  10. }


Na końcu kodu go serializuję:
  1. <? $_SESSION['cart'] = serialize($cart); ?>



I teraz tworząc funkcje do zapisu użytkownika robię coś takiego:
  1. if($insert_client and $insert_client_data)
  2. {
  3. $_SESSION[register_proceed][customers_login]=$_POST[customers_login];
  4. //serializacja koszyka
  5. $_SESSION['cart'] = serialize($cart);
  6. header("location:index.php?mod=register_success");
  7.  
  8. }


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.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 3.10.2025 - 09:20