Jump to content
  • 0

Не работает header("Location: ...")


samorealization
 Share

Question

Прохожу обучающий урок на тему http headers. Решил написать тестовый пример.

Вот он:

Файл index.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<title>Тест</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>

<form method="get" action="header_test.php">
<input type="text" name="f1">Value<br>
<input type="submit">Go
</form>

</body>
</html>

Файл header_test.php

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<title>Тест</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>
<?php
if ($f1 == 10) header("Location: Z:\home\test.loc\www\_calc.php");
?>

</body>
</html>

Когда f1 = 10, программа не работает. Выдает ошибку

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\test.loc\www\header_test.php:11) in Z:\home\test.loc\www\header_test.php on line 12

Подскажите, что надо сделать, чтобы заработало?

PHP и все настройки созданы при помощи инсталляции Denwer 3.

Заранее спасибо.

Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Уже отправлены заголовки. То есть header надо использовать до того, как скрипт выдаст какой-то текст. То есть так. Для того, чтобы это понять достаточно было прочитать текст ошибки.

Файл header_test.php

<?php
if ($f1 == 10) header("Location: Z:\home\test.loc\www\_calc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<title>Тест</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>

</body>
</html>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy