Witam was ponownie:)
Mam problemik: czy jest możliwość wyświetlenia alertu w tej samej funkcji po wykonaniu kodu header location w php?
Wiem że najpierw jest wykonywani skrypt po stronie serwera dopiero potem po stronie przeglądarki. I tu pojawia się mój problem.
Wysyłam dane po poście i potem po wykonaniu forma wyświetlam komunikat w js, ale dane dalej siedzą w poście... mogę dać header location, i strona jest Od razu przeładowana i danych nie ma już w $_POST, ale nie wyświetla się wtedy sktypt js, mogę zakomentować header location i w js dać window.location.href = coś tam ale wtedy mam podwójne przeładowanie strony... 1 w momencie wysłania danych po poście i przed wyświetleniem komunikatu, a drugie po kliknięciu ok na komunikacie z js... jak temu zaradzić? są jakieś rozwiązania?
mój przykładowy fragment kodu z wykorzystaniem header location wygląda tak:
elseif ($glosowal == "tak") {
header('Location: http://' . $host . '/uzytkownik/' . $_GET['kto'] . '');
//komunikat ze glosowal i przekierowanie
$msg = "Już głosowałeś na ten utwór!";
$USER->PromptChannel($msg, $host, $_GET['kto']); //tu funkcja wyświetlająca komunikat
}
a funkcja wygląda tak:
function PromptChannel($msg, $host, $user)
{
echo "<script type='text/javascript'>$.prompt('<center>$msg</center>');</script>";
//$komunikat = <<< SCRIPT
// <script type='text/javascript'>
// $.prompt('<center>$msg</center>',
// {
// buttons:
// {
// Ok:"http://$host/uzytkownik/$user",
// },
// callback:function(buttonVal)
// {
// if(buttonVal != undefined )
// {
// window.location.href = buttonVal;
// }
// else
// window.location.href="http://$host/uzytkownik/$user";
// }
// });
// </script>
//SCRIPT;
// echo $komunikat;
}
w funkcji zakomentowany kod to kod js z przekierowanie, a odkomentowane echo to js bez przekierowania wtedy gdy używam header location w php (jak w przykładzie wyżej)
W tym przykładzie mam header location i chce aby ten odkomentowany komunikat się wyświetlił ale go nie wyświetla... a gdy zakomentuje header location i odkomentuję ten komunikat w funkcji to wtedy mam przekierowanie po kliknięciu ok ale z podwójnym przeładowaniem jak mowilem wcześniej....
Jakieś pomysły? czekam na podpowiedzi i pozdrawiam