Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sesja - zapamiętanie wyboru
Forum PHP.pl > Forum > Przedszkole
djpotwosss
Witam,

Mam następujacy problem.
Stworzyłem sobie formularz wyboru dla niezalogowanych uzytkowników czy im wyświetlać daną treść czy nie. Próbuję zrobić zapamiętanie wyboru w sesji, jednak nie działa to poprawnie. Po każdym przeładowaniu strony użytkownik musi od nowa zaznaczyć wybór.

Poniżej skrypt.

  1. //WYBÓR
  2. if(empty($_POST['cenzor']))
  3. {
  4. $_SESSION['cenzor'] = '2'; //ustawiamy na sztywno wybór gdy użytkownik nic nie wybrał
  5. }
  6. else
  7. {
  8. $_SESSION['cenzor'] = $_POST['cenzor']; //wybór użytkownika
  9. }
  10.  
  11. //PRZETWORZENIE DANYCH
  12. if (($_SESSION['cenzor'])==1)
  13. {
  14. $cenzorkategoria='';
  15. }
  16. else if(($_SESSION['cenzor'])==2)
  17. {
  18. $cenzorkategoria='jakis tekst';
  19. }
  20.  
  21. //FORMULARZ WYBORU
  22. <form method='post' width='100' action='<?=$_SERVER['REQUEST_URI'];?>' >
  23. <select name='cenzor' onChange="this.form.submit()">
  24. <option value='1' <?php if ( $_SESSION['cenzor'] == '1' ) { $_SESSION['cenzor'] == '1'; echo 'selected="selected"'; }?> >Tak</option>
  25. <option value='2' <?php if ( $_SESSION['cenzor'] == '2' ) { $_SESSION['cenzor'] == '2'; echo 'selected="selected"'; } ?> > NIE</option>
  26.  
  27. </select></form>
  28.  


Jak ugryźć ten problem ?
Turson
jest?
djpotwosss
Oczywiście, że jest smile.gif
markuz
Zamiast:
  1. if(empty($_POST['cenzor'])) {}

Wstaw:
  1. if(empty($_POST['cenzor']) && !isset($_SESSION['cenzor'])) {}
djpotwosss
Po dodaniu tego mam ciekawe zachowanie skryptu. Teraz skrypt naprzemiennie wybiera TAK lub NIE po każdym odświeżeniu smile.gif Wcześniejsza wersja trzymała wybór aż do odświeżenia, przeładowania strony
markuz
  1. if(!isset($_SESSION['cenzor']))
  2. $_SESSION['cenzor'] = '2';
  3.  
  4. if(isset($_POST['cenzor']))
  5. $_SESSION['cenzor'] = $_POST['cenzor'];

A tak?

Jak nie działa to pokaż skrypt po poprawkach.
djpotwosss
@markuz, Wielkie dzięki! Teraz działa smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.