Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] kasowanie wartosci zapamietanych w sesji
lnn
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


witam

mam problem otoz, w sesji po zalogowaniu przechowuje id i jeszcze 3 inne dane
a gdy w innym formularzu wprowadzam dane poprzez formularz i zapamietuje je w sesji to po przeladowaniu strony sie one kasuja, co moze byc zrobione nie tak? ;/ skoro jedne wartosci pamieta a drugich nie

dodam że w pliku add1.php - wprowadzam dane
w add2.php - sa one odbierane poprzez $_POST[], czy byc moze dlatego one sie zeruja po ponownym przeladowaniu dlatego ze nic nie jest odebrane poprzez POST??

Ten post edytował lnn 23.12.2009, 21:05:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
lnn
post
Post #2





Grupa: Zarejestrowani
Postów: 361
Pomógł: 11
Dołączył: 17.12.2008
Skąd: LU

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


Cytat(blooregard @ 23.12.2009, 21:19:10 ) *
A po co w ogóle tak robisz, tzn. od razu bezpośrednio zapisujesz zmienne z POST do SESSION?

Sprawdzaj, czy wartości z $_POST nie są puste i/lub mają oczekiwane wartości i wtedy dopiero zapisuj je do sesji.

to teraz nie ma znaczenia czy sa puste czy nie, umiem zrobic walidacje...

chodzi o to ze chce zrobic formularz dajmy na to 5 etapowy, kazdy etap ma byc zapamietywany w sesji by na samym koncu zapisac wszystko do bazy (chce uniknac zeby niepotrzebne dane nie byly zapisywane po drodze do db)

czyli jedyny sposob na odebranie danych z formularza to $_POST, a ewentualne przeładowanie strony nie poprzez odswiez gdzie jest opcja zeby przeslalo jeszcze raz dane tylko przeladowanie poprzez wywolanie adresu skasuje te dane?

-- edit --
moze zapodam lepiej zrodla, zeby zobrazowac problem, teraz gdy jest tak jak jest to dziala jakbym chcial
add.php
  1. // rozpoczęcie buforowania (jest to potrzebne by nie mieć błędów typu headers already sent)
  2.  
  3. if($_SESSION['logged']==false) {
  4. echo 'Aby dodać obiekt <a href="index.php?p=login">zaloguj się</a>, ';
  5. echo 'jeżeli jeszcze nie posiadasz konta <a href="index.php?p=register">zarejestruj się</a>';
  6. } else {
  7.  
  8. }
  9.  
  10. if (isset($_POST['next'])) {
  11. // start sesji
  12. $_SESSION['dodawanie_obiektu'] = true;
  13.  
  14. $_SESSION['nazwa'] = $_POST['nazwa'];
  15. $_SESSION['adres1'] = $_POST['adres1'];
  16. $_SESSION['adres1_nr'] = $_POST['adres1_nr'];
  17. $_SESSION['adres2'] = $_POST['adres2'];
  18. $_SESSION['adres2_kod'] = $_POST['adres2_kod'];
  19. $_SESSION['wojewodztwo'] = $_POST['wojewodztwo'];
  20. $_SESSION['tel1'] = $_POST['tel1'];
  21. $_SESSION['tel2'] = $_POST['tel2'];
  22. $_SESSION['fax'] = $_POST['fax'];
  23. $_SESSION['email'] = $_POST['email'];
  24. $_SESSION['www'] = $_POST['www'];
  25. $_SESSION['typ_obiektu'] = $_POST['typ_obiektu'];
  26.  
  27. }
  28. ?>

add2.php ktore odbiera dane z sesji bez zmiennych z POST dane zachowuja sie
  1. <?php
  2.  
  3. echo 'id usera: ' .$_SESSION['id']. '<br />';
  4. $_SESSION['nazwa']. '<br />'
  5. .$_SESSION['adres1']. '<br />'
  6. .$_SESSION['adres1_nr']. '<br />'
  7. .$_SESSION['adres2']. '<br />'
  8. .$_SESSION['adres2_kod']. '<br />'
  9. .$_SESSION['wojewodztwo']. '<br />'
  10. .$_SESSION['tel1']. '<br />'
  11. .$_SESSION['tel2']. '<br />'
  12. .$_SESSION['fax']. '<br />'
  13. .$_SESSION['email']. '<br />'
  14. .$_SESSION['www']. '<br />'
  15. .$_SESSION['typ_obiektu']. '<br />';
  16.  
  17. ?>


Ten post edytował lnn 23.12.2009, 23:14:42
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: 4.10.2025 - 21:01