Всплывающее окно не отображается! PHP эхо + оповещение

Может кто-нибудь объяснить мне, почему мое оповещение не работает? Это было хорошо несколько дней назад, но вдруг это перестало показывать, дело в том, что сломан только ОДИН.

Пожалуйста, смотрите код ниже, «эхо …» внутри IF () {не работает, в то время как «эхо …» вне IF () {работает.

Я потерял счет, сколько раз я прошел через этот код и ничего не могу найти!

Есть ли лучший способ показать всплывающее сообщение пользователю, кроме использования echo + alert?

    <?php
if ($cobrar_mensalidade === 'sim') {

//sending email
$mensagemHTMLinscrito = 'Hello';

//headers
$headers2 = "MIME-Version: 1.1" . $quebra_linha;
$headers2 .= "Content-type: text/html; charset=iso-8859-1". $quebra_linha;
$headers2 .= "From: " . $emailSender . $quebra_linha;
$headers2 .= "Return-Path: " . $emailSender . $quebra_linha;
$headers2 .= "Reply-to: " .  $emailSender . $quebra_linha;

//sending method
mail($email, 'bla', $mensagemHTMLinscrito, $headers2, $emailSender);

echo "<script type=\"text/javascript\">alert('Not working');</script>";

header("Location: http://www.blabla.com");
die("just die");
}//sending email for other people

$mensagemHTMLinscrito = 'bla bla';

//headers
$headers2 = "MIME-Version: 1.1" . $quebra_linha;
$headers2 .= "Content-type: text/html; charset=iso-8859-1". $quebra_linha;
$headers2 .= "From: " . $emailSender . $quebra_linha;
$headers2 .= "Return-Path: " . $emailSender . $quebra_linha;
$headers2 .= "Reply-to: " .  $emailSender . $quebra_linha;

//sending method
mail($email, 'bla bla bla', $mensagemHTMLinscrito, $headers2, $emailSender);

echo "<script type=\"text/javascript\">alert('This works');</script>";?>

-1

Решение

Сначала вы должны отправить заголовки. Так что просто переключите эти строки:

echo "<script type=\"text/javascript\">alert('Not working');</script>";
header("Location: http://www.blabla.com");

чтобы:

header("Location: http://www.blabla.com");
echo "<script type=\"text/javascript\">alert('Not working');</script>";

Это исправит ваш редирект. Однако я не думаю, что скрипт будет выполнен, так как браузер напрямую загрузит целевой сайт. Вы можете предпочесть этот простой скрипт:

<script type="text/javascript">
alert('Not working');
location.replace("http://www.blabla.com");
</script>
1

Другие решения

Других решений пока нет …