Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] znikajaca sesja po przeladowaniu
lnn
post
Post #1





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

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


witam

nie mialem tego problemu dopoki nie wstawilem tego (ponizej), mysle ze chodzi o to ze tablica $_POST po przeladowaniu ulega "wyczyszczeniu" :/

  1. <div class="row">
  2. <div class="cell_left"><label for="wyposazenie_ilosc">wyposażenie pokoi:</label></div>
  3. <div class="cell_right">
  4. <?php
  5. $ilosc = (isset($_GET['ilosc']) ? $_GET['ilosc'] : 0);
  6.  
  7. $mozliwosci = array('wybierz ilo?ć pól do wstawienia',1,2,3,4,5,6,7,8,9,10);
  8.  
  9. ?>
  10.  
  11. <select name="wyposazenie_ilosc" onchange="location = 'index.php?p=add2&ilosc=' + this.options[this.selectedIndex].value;">
  12. <?php
  13. foreach($mozliwosci as $mozliwosc):
  14. if($mozliwosc==$_GET['ilosc'])
  15. {
  16. $zaz='selected';
  17. } else {
  18. $zaz='';
  19. }
  20. ?>
  21. <option value="<?php echo $mozliwosc; ?>" <?php echo $zaz?>><?php echo $mozliwosc; ?></option>
  22. <?php endforeach; ?>
  23. </select></div>
  24. </div>
  25. <div class="row">
  26. <div class="cell_left"><label for="wyposazenie"></label></div>
  27. <div class="cell_right">
  28. <?php for($i=0,$j=$ilosc;$i<$j;$i++): ?>
  29. <input type="text" value="Input nr <?php echo ($i+1); ?>" /> <br />
  30. <?php endfor; ?>
  31. </div>
  32. </div>


normalnie domyslnie sobie wyswietlam zawartosc sesji i jest:
$_SESSION['nazwa']=
$_SESSION['adres1']=
$_SESSION['adres1_nr']=
$_SESSION['adres2']=
$_SESSION['adres2_kod']=
$_SESSION['wojewodztwo']=dolnośląskie
$_SESSION['tel1']=
$_SESSION['tel2']=
$_SESSION['fax']=
$_SESSION['www']=
$_SESSION['opis']=
$_SESSION['ok']=Przejdz dalej

po zmienie ilosci tego pola wartosci sie kasuja :/
zmienne przekazuje z poprzedniej strony za pomoca POST do SESJI
  1. $_SESSION['etap_1'] = serialize($_POST);
  2. $etap_1 = $_SESSION['etap_1'];
  3.  
  4. $unserialize = unserialize($etap_1);
  5.  
  6. foreach($unserialize as $klucz => $element)
  7. {
  8. echo '$_SESSION[\''.$klucz.'\']='.$element.'<br />';
  9. }


czy da sie jakos tego javascripta zrobic tak zeby pamietal dane z sesji?

jeszcze zobrazuje sytuacje moze bedzie latwiej zrozumiec:
(IMG:http://img704.imageshack.us/img704/584/skrin1.png)

(IMG:http://img40.imageshack.us/img40/2707/skrin2hn.png)

Ten post edytował lnn 17.01.2010, 00:00:07
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(thek @ 17.01.2010, 00:36:48 ) *
Masz błąd bo wywołujesz przeładowanie strony w zdarzeniu onchange. POST nie zostaje wtedy wysłany bo zdarzenie submit nie zostaje wywołane. By tak się nie działo powinieneś przebudować skrypt by tworzył dynamicznie te pola bez przeładowania (w JS) a same wyniki były odebrane jako tablica, czyli najlepiej niech to będą input z name="nazwa_twoja[]" (IMG:style_emoticons/default/winksmiley.jpg) No a ponadto samo dodawanie i odejmowanie powinno być nie na SELECT, bo każda zmiana tego skasuje Ci poprzednie wartości wpisane przy tworzeniu nowych. A przecież user mógl wiąć 5 tylko choć potem przypomni mu się jeszcze 3. I co wtedy? Ma wpisywać wszystkie od nowa? (IMG:style_emoticons/default/winksmiley.jpg)

EDIT: Tobie powinno chodzić o coś takiego jak na tym serwisie gdzie są oferty pracy Zobacz jak tam mają pola Oferujemy, Obowiązki, Oczekujemy. Tam jest to mniej więcej tak rozwiązane jak Ci opisuję

no dokladnie cos takiego szukalem :/ ale chyba gotowego rozwiazania nie znajde..
to jest chyba jQuery?? z tego co ze zrodla wyczytalem.. czyli wyzsza szkola jazdy :/
no ale dzieki mimo wszystko

Ten post edytował lnn 17.01.2010, 00:48:17
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: 8.10.2025 - 18:50