Я создал html-страницу в php и после отправки i проверяет эту страницу с помощью PHP. После проверки я хочу показать сообщение с предупреждением, чтобы показать его статус, например, показать приветствие или запрос на повторный ввод.
У меня нет проверки. Теперь я использую
header( 'Location: http://localhost/assignment/WebForm.htm' ) ;
перенаправить пользователя на ту же страницу, но с оповещением msg при загрузке страницы или что-то в этом роде. Что мне нужно сделать ?
Когда вы используете header
, вы не можете выводить что-либо в теле документа, делая любое alert()
невозможным.
Часто используемым трюком для этого является делегирование alert()
на целевую страницу:
header( 'Location: http://localhost/assignment/WebForm.htm?alert='. urlencode("Hello!")) ;
а затем в WebForm.htm:
<?php if (isset($_GET["alert"])): ?> <script type="text/javascript"> alert("<?php echo htmlentities(urldecode($_GET["alert"])); ?>"); </script> <?php endif; ?>
просто запомните htmlentities()
вывод при выводе сообщения.
Если вы уже используете сеансы, для 100% -ной защиты и элегантных URL-адресов, вы также можете создать случайный ключ в PHP с помощью rand
, сохранить сообщение в $_SESSION["message_$randomKey"]
и передать ключ в запрос GET. Таким образом, единственное, что пользователь видит в URL-адресе, – это ключ, а не сообщение.
Вам нужно показать предупреждение с помощью Javascript на другой странице.
Вероятно, вы захотите передать текст предупреждения в запросе.