Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Usuwanie sesji
pitu
post 14.01.2012, 17:58:10
Post #1





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


Witam

Wykonuję formularz wyszukiwarki. Wyniki są przesyłane po zmiennej POST, w wynikach mam stronicowanie. Po przejściu np. na drugą stronę normalnie nie przekazuje przesłanych wcześniej zmiennych, więc zastosowałem sesję i jest niby dobrze.

Wykonałem to tak:
  1. if(isset($_SESSION['marka'])){
  2. $_POST['marka'] = $_SESSION['marka'];
  3. }
  4. else {
  5. $_SESSION['marka'] = $_POST['marka'];
  6. }


Problem pojawia się jeżeli chcę jeszcze raz coś wyszukać, oczywiście zapamiętana w sesji jest stara zmienna i szuka właśnie jej. Czy jest jakiś sposób aby po wyjściu na kasowanie sesji po każdym wyszukaniu i nadpisanie jej nową wartością?


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
mortus
post 14.01.2012, 18:07:18
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Bo to raczej powinno wyglądać inaczej:
  1. if(isset($_POST['marka']) && $_POST['marka'] != '') {
  2. $_SESSION['marka'] = $_POST['marka'];
  3. }

a dalej w skrypcie powinieneś się posługiwać zmienną z tablicy $_SESSION, a nie z tablicy $_POST.
Przejście na kolejną stronę wyników wyszukiwania nie powinno się wiązać z ponownym przesłaniem szukanej frazy przez $_POST, bo ona jest już zapisana w tablicy $_SESSION.

EDIT: Jeśli spełnisz powyższe warunki, to nie będzie problemu z wyszukiwaniem nowej frazy, bo warunek instrukcji warunkowej będzie spełniony podczas każdego wyszukiwania.

Ten post edytował mortus 14.01.2012, 18:18:30
Go to the top of the page
+Quote Post
pitu
post 14.01.2012, 18:17:42
Post #3





Grupa: Zarejestrowani
Postów: 476
Pomógł: 96
Dołączył: 10.04.2008
Skąd: Koszalin

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


Dzięki wielkie, teraz działa bardzo dobrze. W warunku wkradł się tylko jeden zamykający nawias za dużo.


--------------------
HTML/CSS/JS: jsfiddle
SQL: sqlfiddle
Go to the top of the page
+Quote Post
modern-web
post 14.01.2012, 21:33:36
Post #4





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


A tak na boku zapytam; zabezpieczyłeś sesje? Bo tak na dobrą sprawę 90% programistów nie zdaje sobie sprawy z niebezpieczeństw jakie to za sobą niesie..


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 29.06.2025 - 01:22