Top.Mail.Ru
Ответы

Что за ошибка? Warning: Cannot modify header information - headers already sent by

У меня две страницы с кодом PHP
1.)index.php
2.)success.php

Вот index.php
<?php
if (isset($_POST["send"])) {
$from = $_POST["from"] ;
$to = $_POST["to"] ;
$subject = $_POST["subject"] ;
$message = $_POST["message"] ;
$_SESSION["from"] = $from;
$_SESSION["to"] = $to;
$_SESSION["subject"] = $subject;
$_SESSION["message"] = $message;
$error_from = "";
$error_to = "";
$error_subject = "";
$error_message = "";
$error = false;
if (strlen($subject) == 0){
$error_subject = "Не написана тема";
$error = true;
}
if (strlen($message) == 0){
$error_message = "Не написана сообщение";
$error = true;
}
if (!$error){
$subject = "=?windows-1251?B?".base64_encode($subject)."?=";
$headers = "From: $from\r\nReply-to: $from\r\nContent-type: text/plain; charset=windows-1251\r\n";
mail($to, $subject, $message, $headers);
header("Location: success.php?send=1");
exit;
}
}
?>
<html>
<head>
<title>почтавик</title>
</head>
<body>
<h1>Отправте почту! </h1>
<form name="myform" action = "index.php" method="post">
<table>
<tr>
<td>От кого: </td>
<td>
<input type="text" name="from" value="<?php echo $_SESSION["from"]; ?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_from;?></span>
</td>
</tr>
<tr>
<td>Кому: </td>
<td>
<input type="text" name="to" value="<?php echo $_SESSION["to"];?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_to;?></span>
</td>
</tr>
<tr>
<td>Тема: </td>
<td>
<input type="text" name="subject" value="<?php echo $_SESSION["subject"];?>" />
</td>
<td>
<span style="color: red;"><?php echo $error_subject;?></span>
</td>
</tr>
<tr>
<td>Сообщение: </td>
<td>
<textarea name="message" cols="15" rows="10"><?php echo $_SESSION["message"];?></textarea>
</td>
<td>
<span style="color: red;"><?php echo $error_message;?></span>
</td>
</tr>
<tr>
<td colspan="3">
<input type="submit" name="send" value="Отправить" />
</td>
</tr>
</table>
</form>
</body>
</html>
А вот и success.php
<?php
if ($_GET["send"] == 1){
echo "Your massage are send to ".$_SESSION["to"];
echo "<br /><a href='index.php'>Back</a>";
}
?>

Выдает ошибку
Warning: Cannot modify header information - headers already sent by (output started at Z:\home\google\www\e-mail\index.php:1) in Z:\home\google\www\e-mail\index.php on line 29
ПОЖАЛУЙСТА ПОМОГИТЕ! Спасибо

По дате
По рейтингу
Аватар пользователя
Гуру
11лет

попробуй сохранить файл в UTF-8 без BOM

Аватар пользователя
11лет

ты пытаешься что-то выдать, явно или не явно, а потом вызываешь функцию header. но заголовки могут отсылаться только до текста документа