Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] sesja i informacje
uncuncunc
post 6.09.2012, 13:07:56
Post #1





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 1.04.2012

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


Jak zrobić prosty system informowania?

  1. if()... // tu sprawdzam czy formularz został poprawnie wysłany bez błędów, jeśli tak, to ustanawiam sesje info na true i następuje przekierowanie header
  2.  
  3. if(isset($_SESSION['info']))
  4. {
  5. echo '<div>informacja</div>';
  6. }


I pytanie, jak teraz usunąć tę informację np. jak ponownie wejdę na tę samą stronę.
  1. unset($_SESSION['info'])
dodany na samym końcu, nie pomaga, w ogóle nie jest widziana informacja...
Go to the top of the page
+Quote Post
nospor
post 6.09.2012, 13:13:46
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. if(isset($_SESSION['info']))
  2.  
  3. {
  4.  
  5. echo '<div>informacja</div>';
  6. unset($_SESSION['info']);
  7. }


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Adi32
post 6.09.2012, 13:15:17
Post #3





Grupa: Zarejestrowani
Postów: 348
Pomógł: 26
Dołączył: 8.10.2008
Skąd: Lublin

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


  1. class Message {
  2. public static function set($message) {
  3. $_SESSION['messages'][] = $message;
  4. }
  5.  
  6. public static function get() {
  7. if ($_SESSION['messages']) {
  8. $temp = $_SESSION['messages'];
  9. unset($_SESSION['messages']);
  10. return $temp;
  11. }
  12. }
  13. }
  14.  
  15. # np po zalogowaniu
  16. Message::set('Zostałeś poprawnie zalogowany');
  17.  
  18. # a gdzieś w indexie (zawsze widocznym miejscu)
  19.  
  20. if ($messages = Message::get())
  21. foreach($messages as $message) {
  22. echo $message;
  23. }
  24.  


--------------------
Wolałem języki z rodziny C ale poszedłem na łatwizne...
Go to the top of the page
+Quote Post
uncuncunc
post 6.09.2012, 13:22:05
Post #4





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 1.04.2012

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


Cytat(nospor @ 6.09.2012, 14:13:46 ) *
  1. if(isset($_SESSION['info']))
  2.  
  3. {
  4.  
  5. echo '<div>informacja</div>';
  6. unset($_SESSION['info']);
  7. }



Nie zadziała, jeśli pierw wcześniej ustalę i dam header

  1. $_SESSION['info'] = true;
  2. header(...) // przekierowanie
Go to the top of the page
+Quote Post
nospor
post 6.09.2012, 14:04:02
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Co nie zadziała? unset? No jeśli gdzieś zaraz po unset na nowo coś przypiszesz, to logiczne, ze nadal coś tam będzie smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
uncuncunc
post 6.09.2012, 14:41:24
Post #6





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 1.04.2012

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


Wygląda to tak:

  1. if() // sprawdzam czy wyslano formularz
  2. {
  3. if() // sprawdzam czy nie zawiera bledow
  4. {
  5. $_SESSION['info'] = true;
  6. header(...) // przekierowanie
  7. }
  8.  
  9.  
  10. }
  11.  
  12. if(isset($_SESSION['info']))
  13. {
  14. echo '<div>informacja</div>';
  15. unset($_SESSION['info']);
  16. }


header przekierowuje na tę samą stornę, jeśli usuną header to działa dobrze, tylko że sesja jest cały czas widoczna...
Go to the top of the page
+Quote Post
nospor
post 6.09.2012, 14:44:35
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Po header ma być exit;


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
b4rt3kk
post 6.09.2012, 14:45:14
Post #8





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Może zamiast przekierowywaniem na tę samą stronę, zapewne w celu jej odświeżenia, zastanów się nad użyciem JS lub jQuery?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
uncuncunc
post 6.09.2012, 14:47:24
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 0
Dołączył: 1.04.2012

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


Cytat(nospor @ 6.09.2012, 15:44:35 ) *
Po header ma być exit;


Asz kurde, widzisz... Taka mała pierdoła... biggrin.gif

Cytat
Może zamiast przekierowywaniem na tę samą stronę, zapewne w celu jej odświeżenia, zastanów się nad użyciem JS lub jQuery?

Odpada, mechanizm ma być natywny.

Ten post edytował uncuncunc 6.09.2012, 14:48:04
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: 14.08.2025 - 09:28