Перейти к содержимому



Работа с сессиями

#1 cap4369

cap4369
  • Пользователь
  • 62 сообщений
  • Репутация: 1
0

Отправлено 07 Сентябрь 2013 - 00:30

Здравствуйте!
Помогите разобраться с ошибкой. Сделал форму обратной связи, все работает, но в браузере появляется ошибка:
"Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at Z:\home\blog.ru\www\mail_index.php:14) in Z:\home\myblog.ru\www\mail_index.php on line 35"
Скрипт отправки сообщений:
<?php
session_start();
if($_POST['submit']){

$name = substr($_POST['name'],0, 20);
$mail = substr($_POST['mail'],0, 20);
$text = substr($_POST['name'],0, 2000);
$to = 'my@mail.ru';
$subject = 'Заполнена форма на сайте';
$message = "Имя отправителя: ".$_POST['name']."\r\n";
$message .= "Email отправителя: ".$_POST['mail']."\r\n\r\n";
$message .= "Текст сообщения: ".$_POST['text'];
$headers ="Content-type: text/plain; charset = \"utf-8\"";
if(mail($to, $subject, $message, $headers)) {
  $_SESSION['res'] = $name.', Ваше сообщение отправлено. Спасибо!';
  header("Location: mail_index.php");
  exit();
}
else {
  $_SESSION['res'] = 'Ошибка! Попробуйте еще раз.';
  header("Location: mail_index.php");
exit();
}
}
else {
header("Location: mail_index.php");
exit();
}
?>
И в нем всего 29 строк.

 

 

  • 0

#2 isvetlichniy

isvetlichniy
  • Пользователь
  • 619 сообщений
  • Репутация: 93

Отправлено 07 Сентябрь 2013 - 09:57

не должно быть никаких пустых строк до вызова session_start
тоесть, если у тебя перед <?php в самом начале страницы если пустая строка - то будет ошибка
  • 0

#3 alex159

alex159
  • Пользователь
  • 492 сообщений
  • Репутация: 32

Отправлено 07 Сентябрь 2013 - 11:46

Попробуйте также поменять кодировку файла. У меня тоже была такая проблема решилось сменой кодировки.
  • 0

#4 fedornabilkin

fedornabilkin
  • Пользователь
  • 696 сообщений
  • Репутация: 91

Отправлено 07 Сентябрь 2013 - 12:11

Кодировать в утф без БОМ
  • 0
Как часто в горестной разлуке,В моей блуждающей судьбе, ФО, я думал о тебе.


#5 cap4369

cap4369
    Topic Starter
  • Пользователь
  • 62 сообщений
  • Репутация: 1

Отправлено 07 Сентябрь 2013 - 18:03

Спасибо, на счет кодировок я знал. А вот пустые строки меня с толку сбили. Дело в том, что я сделал файл с формой и файл обработчика разными. Таким образом, перенеся функцию session_start в файле с формой (там выводится сообщение об отправке сообщения или ошибке) в самое начало кода, ошибка в браузере исчезла. А в файле обработчика, функция session_start изначально была без пустых строк до нее. Еще раз спасибо за помощь, еще одна полезная информация в копилочку :).
  • 0


Оформление форума – IPBSkins.ru