Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Komunikaty portalu
Forum PHP.pl > Forum > Przedszkole
Marq
Witam!



Mam pytanie odnośnie tworzenia portalu, mianowicie: chciałbym, aby po każdej akcji użytkownika (edycja postu, wylogowanie, błędy) pojawiały się komunikaty o zakończeniu akcji/błędzie, dokładniej chodzi mi o to, aby w którymś miejscu w portalu się one pojawiały. Przykład, mam przy edycji postu obsługę wyjątków, i teraz gdy wszystko zakończy się pomyślnie, chciałbym, aby wyświetlił się powiedzmy index, z komunikatem, że wyedytowano post w którymś miejscu, próbowałem robić to poprzez includowanie poszczególnych części serwisu i wpisywanie w odpowiednie miejsce tego komunikatu, ale dalej pozostaje url np(http:foo.foo.pl/edit.php?id=7). Jak zrobić, by po takiej akcji w przeglądarce ukazał się URL foo.foo.pl a w zawartości ten właśnie komunikat?



Pozdrawiam!
Lars
2 headery. Adres przez $_GET lub $_SESSION.
Wygląda to tak: przekierowujesz do jednej, a na tej drugiej powrót po jakimś czasie.
Moim zdaniem lepszy byłby chociażby popup, oczywiście tylko w najpotrzebniejszych miejscach.

Mam nadzieję, że cię dobrze zrozumiałem bo to trochę zagmatwałeś tongue.gif
Marq
Jakie pytanie, taka odpowiedź więc i ja Cię chyba nie zrozumiałem tongue.gif

Ale obrazowo, to chodzi o takie coś, jak na przykład na naszej klasie, po edycji czegoś, wyświetla się zielony komunikacik, a ja chciałbym, żeby nie pozostawał mi URL http://foo.foo.pl/edit.php?id=6 tylko index powiedzmy winksmiley.jpg
Lars
Nie da rady moim zdaniem. Chyba, że tymi przekierowaniami. Ale to jest pozbawione sensu.
MajareQ
Strasznie pogmatwałeś winksmiley.jpg
Ale do wyświetlania komunikatów o zrobionej akcji polecam albo to albo to.
krzyszbi
to najlepiej bedzie w sesji
przykładowo
w edycji
  1. <?php
  2. $_SESSION['messege'] = array();
  3. //kod edycji
  4. $_SESSION['messege'][] = array('val=>'Pierwsza wiadomość','status'=>'ok');
  5. //dalszy kod
  6. $_SESSION['messege'][] = array('val=>'Druga wiadomość','status'=>'error');
  7. ?>

i w index-ie
  1. <?php
  2. if !empty($_SESSION['messege']) && is_array($_SESSION['messege']){
  3. foreach($_SESSION['messege'] as $messege){
  4. if ($messege['status']=='ok'){
  5. echo'<span style="color: green;">'.$messege['val'].'</span>';
  6. }
  7.  
  8. if ($messege['status']=='error'){
  9. echo'<span style="color: red;">'.$messege['val'].'</span>';
  10. }
  11. }
  12. $_SESSION['messege'] = array(); // wyczyszczenie wiadomości
  13. }
  14. ?>

mniej więcej idea

coś podobnego używam w ZendFramework ( FlashMessege ) i mi się podoba
Marq
Właśnie o coś takiego mi chodziło winksmiley.jpg 

Wielkie dzięki!
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.