У меня есть страница с названием login.php, если пользователь успешно вошел в систему, он перенаправляется на map.php. Существует также гиперссылка на login.php на map.php
map.php начинается следующим образом:
<?php
session_start();
if ($_SESSION){
?>
затем вывести связку HTML и JAVASCRIPT тогда …
<?php } else {
header ('Location: ../login.php');
exit();
$message = "wrong answer";
echo "<script type='text/javascript'>alert('$message');
</script>";
}
?>
Если я запускаю login.php, а затем нажимаю на гиперссылку, чтобы перейти к карте, не вводя имя пользователя и пароль, я вижу, что браузер обновляется, и я перенаправляю себя обратно на ту же страницу по желанию, однако, как мне получить оповещение на работу? Я хочу, чтобы пользователь знал, что он должен войти в систему, чтобы просмотреть map.php
Я хочу, чтобы пользователь знал, что он должен войти в систему, чтобы увидеть карту.
У вас есть в основном два разных решения, чтобы справиться с перенаправлением.
Вместо отображения предупреждения вы можете вывести обычный текст и использовать refresh
вызов заголовка в сочетании с url
вызов заголовка для отправки заголовка клиентскому браузеру, который обновляет страницу через определенное количество секунд.
<?php
}
else
{
$message = "wrong answer";
header('Refresh: 5; url=login.php');
exit($message);
}
Просто выведите сценарий оповещения, который вы уже написали, а затем обработайте перенаправление через javascript вместо использования header()
PHP функция
<?php
}
else
{
$message = "wrong answer";
echo "<script>
alert('$message');
window.location.href='login.php';
</script>";
exit;
}
Я лично рекомендую обрабатывать перенаправление через PHP, так как это более элегантное решение и потому что вам не придется беспокоиться о пользователях, у которых JavaScript отключен в их браузере.
Других решений пока нет …