Отображать сообщение об ошибке на веб-странице при пересылке с одной страницы на другую при загрузке страницы - PullRequest
1 голос
/ 12 апреля 2010

Я создал HTML-страницу в php, и после отправки я проверяю эту страницу с помощью PHP. После проверки я хочу показать сообщение с уведомлением, чтобы показать его статус, например, приветствие или запрос на повторный ввод.

У меня нет проверки. Теперь я использую

header( 'Location: http://localhost/assignment/WebForm.htm' ) ;

чтобы перенаправить пользователя на ту же страницу, но с сообщением об ошибке при загрузке страницы или чем-то в этом роде. Что мне нужно сделать?

Ответы [ 2 ]

3 голосов
/ 12 апреля 2010

Когда вы используете header, вы не можете ничего выводить в теле документа, что делает невозможным любое alert().

Часто используемый прием для достижения этой цели - делегировать alert() ing на целевую страницу:

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, это ключ, а не сообщение.

0 голосов
/ 12 апреля 2010

Вы должны показать предупреждение, используя Javascript на другой странице.

Возможно, вы захотите передать текст предупреждения в строке запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...