СообЧа > База Знаний > Интернет > Веб-строительство > PHP

Вопрос

Объясните начинающему, откуда в нижеследующем коде лезут ошибки типа:

Notice: Undefined index: 'location' in E:\HTTP\Apache2\htdocs\my\redirect.php on line 2
Warning: Cannot modify header information — headers already sent in E:\HTTP\Apache2\htdocs\my\redirect.php on line 2
redirect.html
<html><head><title>Перенаправление</title></head><body>
<form action="redirect.php" method="POST">

Перенаправить меня к:

<select name="location">
<option value="http://www.prima-tech.com/">Prima-Tech</option>
<option value="http://www.thickbook.com/">thickbook.com</option>
<option value="http://www.php.net/">PHP.net</option>
<option value="http://www.zend.com/">Zend Technologies</option>
</select><input name="submit" type="Submit" value="Перейти">
</form></body></html>
redirect.php
<?php if ($_POST['location']==""){header ("Location: redirect.html");exit;}
else {header ("Location: $_POST['location']");exit;} ?>

Ответ

Зачем было привлекать $_POST?
Нужное тебе значение доступно как $location, будь проще.

К тому же перенаправление твое просто не работает. Обычно это делается на уровне хидера _страницы_ хтмл, а не заголовка HTTP-ответа.

Из конференции Expert_FAQ



Copyright © 2000-2004 Сообщество Чайников
Контактная информация