Alexeina66
Мой дом здесь!
- Регистрация
- 26 Авг 2013
- Сообщения
- 426
- Реакции
- 445
- Автор темы
- #1
Всем привет!
Прошу помощи разобраться. Есть форма обратной связи на php...в кодировке utf-8. Кодировка на сервере - UTF-8. Php-код формы идет до html, пробелов никаких нет.
При отправки формы должно появится информационный блок однако появляется надпись:
Warning: Cannot modify header information - headers already sent by (output started at /hosting/users/h3016030/www/alyansural.ru/viezd.php:1) in/hosting/users/h3016030/www/alyansural.ru/viezd.php on line 79
При это, если преобразую форму в кодировку в utf-8 без BOM, то крякозябры в форме, а в информационном блоке все ОК....(((
Прошу помощи разобраться. Есть форма обратной связи на php...в кодировке utf-8. Кодировка на сервере - UTF-8. Php-код формы идет до html, пробелов никаких нет.
При отправки формы должно появится информационный блок однако появляется надпись:
Warning: Cannot modify header information - headers already sent by (output started at /hosting/users/h3016030/www/alyansural.ru/viezd.php:1) in/hosting/users/h3016030/www/alyansural.ru/viezd.php on line 79
При это, если преобразую форму в кодировку в utf-8 без BOM, то крякозябры в форме, а в информационном блоке все ОК....(((
PHP:
<?php
function ValidateEmail($EMAIL)
{
$PATTERN = '/^([0-9a-z]([-.\w]*[0-9a-z])*@(([0-9a-z])+([-\w]*[0-9a-z])*\.)+[a-z]{2,6})$/i';
return preg_match($PATTERN, $EMAIL);
}
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
$MAILTO = 'ms@yandex.ru';
$MAILFROM = isset($_POST['email']) ? $_POST['email'] : $MAILTO;
$SUBJECT = 'Письмо с Вашего сайта';
$MESSAGE = 'Поля с формы ВЫЕЗДНОЙ РЕМОНТ:';
$SUCCESS_URL = './prinat.php';
$ERROR_URL = '';
$ERROR = '';
$EOL = "\n";
$MAX_FILESIZE = isset($_POST['filesize']) ? $_POST['filesize'] * 1024 : 1024000;
$BOUNDARY = md5(uniqid(time()));
$HEADER = 'From: '.$MAILFROM.$EOL;
$HEADER .= 'Reply-To: '.$MAILFROM.$EOL;
$HEADER .= 'MIME-Version: 1.0'.$EOL;
$HEADER .= 'Content-Type: multipart/mixed; boundary="'.$BOUNDARY.'"'.$EOL;
$HEADER .= 'X-Mailer: PHP v'.phpversion().$EOL;
if (!ValidateEmail($MAILFROM))
{
$ERROR .= "The specified email address is invalid!\n<br>";
}
if (!empty($ERROR))
{
$ERRORCODE = file_get_contents($ERROR_URL);
$REPLACE = "##error##";
$ERRORCODE = str_replace($REPLACE, $ERROR, $ERRORCODE);
echo $ERRORCODE;
exit;
}
$INTERNALFIELDS = array ("submit", "reset", "send", "captcha_code");
$MESSAGE .= $EOL;
$MESSAGE .= "IP Address : ";
$MESSAGE .= $_SERVER['REMOTE_ADDR'];
$MESSAGE .= $EOL;
foreach ($_POST as $KEY => $VALUE)
{
if (!in_array(strtolower($KEY), $INTERNALFIELDS))
{
if (!is_array($VALUE))
{
$MESSAGE .= ucwords(str_replace("_", " ", $KEY)) . " : " . $VALUE . $EOL;
}
else
{
$MESSAGE .= ucwords(str_replace("_", " ", $KEY)) . " : " . implode(",", $VALUE) . $EOL;
}
}
}
$BODY = 'This is a multi-part message in MIME format.'.$EOL.$EOL;
$BODY .= '--'.$BOUNDARY.$EOL;
$BODY .= 'Content-Type: text/plain; charset=utf-8'.$EOL;
$BODY .= 'Content-Transfer-Encoding: 8bit'.$EOL;
$BODY .= $EOL.stripslashes($MESSAGE).$EOL;
if (!empty($_FILES))
{
foreach ($_FILES as $KEY => $VALUE)
{
if ($_FILES[$KEY]['error'] == 0 && $_FILES[$KEY]['size'] <= $MAX_FILESIZE)
{
$BODY .= '--'.$BOUNDARY.$EOL;
$BODY .= 'Content-Type: '.$_FILES[$KEY]['type'].'; name='.$_FILES[$KEY]['name'].$EOL;
$BODY .= 'Content-Transfer-Encoding: base64'.$EOL;
$BODY .= 'Content-Disposition: attachment; filename='.$_FILES[$KEY]['name'].$EOL;
$BODY .= $EOL.chunk_split(base64_encode(file_get_contents($_FILES[$KEY]['tmp_name']))).$EOL;
}
}
}
$BODY .= '--'.$BOUNDARY.'--'.$EOL;
if ($MAILTO != '')
{
mail($MAILTO, $SUBJECT, $BODY, $HEADER);
}
header('Location:'.$SUCCESS_URL);
exit;
}
?>
Последнее редактирование: