• 0
MadSandwich

Вопрос по php

Вопрос

Здравствуйте, столкнулся с проблемой при отправке сообщения через форму обратной связи получаю ошибку:

Warning: Cannot modify header information - headers already sent by (output started at Z:\home\konfety.by\www\submit_now.php:1) in Z:\home\konfety.by\www\submit_now.php on line 28

 

Сам файл формы, на который ругается сайт, при отправке.

 

Скрытый текст

<?PHP 
$to = "email@gmail.com"; 
$subject = "Письмо с формы сайта";
$headers = "От: Наша компания";
$forward = 1;
$location = "result.html";

$date = date ("l, F jS, Y"); 
$time = date ("h:i A"); 



$msg = "Сообщение было отправленно с сайта  $date, hour: $time.\n\n\n\n"; 

if ($_SERVER['REQUEST_METHOD'] == "POST") {
	foreach ($_POST as $key => $value) { 
		$msg .= ucfirst ($key) ." : ". $value . "\n\n"; 
	}
}
else {
	foreach ($_GET as $key => $value) { 
		$msg .= ucfirst ($key) ." : ". $value . "\n\n"; 
	}
}

mail($to, $subject, $msg); 
if ($forward == 1) { 
    header ("Location:$location"); 
} 
else { 
    echo "Спасибо за ваше сообщение. Мы ответим вам в ближайщее время."; 
} 

?>

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

3 ответа на этот вопрос

  • 1

Подозреваю, что файл у вас не в UTF без BOM или в начале файла есть пробел например

2 пользователям понравилось это

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Да это был действительно пробел, прошу прощения, очень стыдно.

Изменено пользователем MadSandwich

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
1 час назад, MadSandwich сказал:

Да это был действительно пробел, прошу прощения, очень стыдно.

А чего тут постыдного? :) Вполне частая ошибка.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: zax2002
      У меня в коде HTML/PHP почему-то тег (или как это назвать) <?php Открывает не php код, а html комментарий и получается, что на странице отображается кусок PHP кода после CURLOPT_URL =>. В notepad++ всё отображается правильно, помогите пожалуйста, я замучился уже.
      <body> <form action="" method="get"> <input type="text" name="url"> <input type="submit" value="Вася, ран"> </form> </body> <?php $options = array( CURLOPT_URL => 'http://audiotag.info/index.php', CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query(array('URL' => $_GET['url'], 'step' => '22')), ); $myCurl = curl_init(); curl_setopt_array($myCurl, $options); $response = curl_exec($myCurl); curl_close($myCurl); $pos = strpos($response, '<form action='); $content = substr($response, $pos); $pos = strpos($content, '" alt="code'); $content = substr($response, 0, $pos); $pos = strpos($content, 'name" value="'); $fname = substr($response, $pos); $pos = strpos($fname, '"'); $fname = substr($fname, 0, $pos); echo $fname; ?>  
    • Автор: SupremeWin
      Здравствуйте всем!
      Интересует такое решение задачки. Имеется вот такой вот HTML код
      <input type="text" name="comp" placeholder="Comp" /><br> <input type="text" name="name[]" placeholder="name1" /><br> <input type="text" name="desc[]" placeholder="desc1" /><br> <input type="file" name="files[]" multiple /><br> <input type="text" name="name[]" placeholder="name2" /><br> <input type="text" name="desc[]" placeholder="desc2" /><br> <input type="file" name="files[]" multiple /><br> Как создать массив с названиями файлов которые были выбраны в первом или втором input. Имеется скрипт практически рабочий, но имеет дефект, что вместо названия файла имеется иероглиф
      $this_is_it = array(); $post = array_values($_POST); for($j = 0; $j < count($post[1]); $j++){ for($u = 0; $u < count($post[3]); $u++){ $this_is_it['order_' . ($j + 1)] = array( 'name' => $post[1][$j], 'desc' => $post[2][$j], 'attach' => $post[3][$j] ); } } Выводит он при этом:
      array(2) { ["order_1"]=> array(3) { ["name"]=> string(4) "lala" ["desc"]=> string(7) "lalalal" ["attach"]=> string(1) "�" } ["order_2"]=> array(3) { ["name"]=> string(5) "name2" ["desc"]=> string(5) "desc2" ["attach"]=> string(1) "�" } } А должен:
      array ( 'order_1' => array ( 'name' => 'name1', 'desc' => 'desc1', 'attach' => 'картинка.jpg', ), 'order_2' => array ( 'name' => 'name2', 'desc' => 'desc2', 'attach' => 'картинка_2.jpg', ),) Что делать, как быть?
    • Автор: damase
      Нужно создать форму, которая будет всплывать при нажатии кнопки "Добавить". 
      Например, мы вводим образование, один университет.
      Но если человек имеет еще одно образование, то он нажимает кнопку "Добавить" и ему высвечивается такая же форма , только с другим полями, ( выше - ниже не имеет значения)
      На первой картинке показано как это выглядит до нажатия на клавишу, на второй как после нажатия. 
      Есть ли какие нибудь материалы по этой теме? Не могу найти хоть приблизительного примера=(
      Очень буду благодарна, если поможете=)