Marq
15.10.2008, 17:53:21
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
15.10.2008, 17:58:19
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ś
Marq
15.10.2008, 18:02:08
Jakie pytanie, taka odpowiedź więc i ja Cię chyba nie zrozumiałem

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
Lars
15.10.2008, 18:06:43
Nie da rady moim zdaniem. Chyba, że tymi przekierowaniami. Ale to jest pozbawione sensu.
MajareQ
15.10.2008, 18:10:43
Strasznie pogmatwałeś

Ale do wyświetlania komunikatów o zrobionej akcji polecam albo
to albo
to.
krzyszbi
15.10.2008, 18:13:48
to najlepiej bedzie w sesji
przykładowo
w edycji
<?php
$_SESSION['messege'] = array(); //kod edycji
$_SESSION['messege'][] = array('val=>'Pierwsza wiadomość
','status
'=>'ok
'); //dalszy kod
$_SESSION['messege'][] = array('val=>'Druga wiadomość','status'=>'error');
?>
i w index-ie
<?php
if !empty($_SESSION['messege']) && is_array($_SESSION['messege']){ foreach($_SESSION['messege'] as $messege){
if ($messege['status']=='ok'){
echo'<span style="color: green;">'.$messege['val'].'</span>'; }
if ($messege['status']=='error'){
echo'<span style="color: red;">'.$messege['val'].'</span>'; }
}
$_SESSION['messege'] = array(); // wyczyszczenie wiadomości }
?>
mniej więcej idea
coś podobnego używam w ZendFramework ( FlashMessege ) i mi się podoba
Marq
15.10.2008, 18:35:28
Właśnie o coś takiego mi chodziło
Wielkie dzięki!