可能重复:
“Warning: Headers already sent” in PHP
Reference - What does this error mean in PHP?PHP无法修改标题信息
我得到:
警告:不能更改头信息 - 已经由(输出发送头开始在/diverson/index.php:9)在/diverson/index.php在线69
这让我的头重定向到谷歌网站。试图用缓冲来解决这个问题,它根本没有帮助。 (ob函数)。我想这是因为我发送HTML代码给用户。我在PHP中100%newb,但我一直在寻找解决方案,并提出了一些想法,如缓冲,这没有帮助。
对不起,在html标签中的波兰语,但这是用户的信息,所以它也不会帮助英文。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DIVERSON</title>
<link rel="stylesheet" href="styl.css" type="text/css" />
</head>
<body>
<?php
ob_start();
// Pobieramy adres IP komentującego
$IP = $_SERVER['REMOTE_ADDR'];
// Pobieramy pełny adres strony na której wysyłany jest komentarz
$lokalizacja = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
// Pobieramy adres aktualnej strony bez nazwy domeny, czyli np.: "jakis-artykul.php", do bazy danych
$adres = $_SERVER['REQUEST_URI'];
/* Dane potrzebne do połączenia z bazą danych, oraz nawiązanie połączenia.
Poniżej są domyślne dane do połączenia z serwerem WampServer (po instalacji).
Więcej informacji o instalacji tego serwera na: http://www-4u.pl/instalacja-serwera.php
Jeżeli masz lepszy sposób na łączenie z bazą mysql - zastosuj go zamiast poniższego */
DEFINE ('DB_USER', 'notachance');
DEFINE ('DB_PASSWORD', 'evennow'); // Jeżeli masz jakieś hasło to wpisz
DEFINE ('DB_HOST', 'localhost/lexiurista');
DEFINE ('DB_NAME', 'lexiurista'); // Jeżeli masz inną nazwę bazy danych - podaj swoją
// Nawiązuje połączenie i wybiera bazę danych.
$dbc = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) OR die ('Nie mogłem połączyć się z MySQL-em: ' . mysql_error());
@mysql_select_db(DB_NAME) OR die ('<b>Nie udało mi się wybrać bazy danych:</b> ' . mysql_error());
// Jeżeli został wciśnięty przycisk "wyślij"
if (isset ($_POST['wys_kom'])) {
// Jeżeli nick jest pusty
if (empty($_POST['nick'])) {
$komunikat .= '<p>Podaj swój nick (imię).</p>';
} else {
$nick = ($_POST['nick']);
}
// Jeżeli komentarz jest pusty
if (empty($_POST['tel'])) {
$komunikat .= '<p>Podaj numer telefonu.</p>';
} else {
$tel = stripslashes($_POST['tel']);
}
if (empty($_POST['e_mail'])) {
$komunikat .= '<p>Podaj swój e-mail</p>';
} else {
$e_mail = ($_POST['e_mail']);
}
if (empty($_POST['haslo'])) {
$komunikat .= '<p>Podaj swoje hasło</p>';
} else {
$haslo = ($_POST['haslo']);
}
//Jeżeli nie ma żadnego błędu
if (!isset($komunikat)) {
$zapytanie = "INSERT INTO Diverson (url, nick, data, ip, tel, e_mail, haslo) VALUES ('$adres', '$nick', NOW(), '$IP', '$tel', '$e_mail', '$haslo')";
mysql_query("set names utf8;");
if ($rezultat = mysql_query ($zapytanie)) {
mysql_close();
header('Location: http://www.google.pl');
exit() ;
$komunikat = '<p>Dziekujemy za wypełnienie formularza.</p>';
} else {
$komunikat = '<p>Przepraszamy za chwilowe usterki. Wysłanie formularza nie było możliwe. Spróbuj później.</p>';
}
}
}
// Jeżeli są jakieś komunikaty - wyświetl je
if (isset($komunikat)) {
echo '<div class="komunikat">'.$komunikat.'</div>';
}
// Formularz wysyłania komentarza
echo'
<div class="formularz">
<h2>Wypełnij formularz:</h2>
<form action="'.$lokalizacja.'" method="post">
<p><b>Podaj nick do rejestracji</b>: <br /><input type="text" name="nick" size="35" maxlength="35" /></p>
<p><b>Podaj hasło do rejestracji</b>: <br /><input type="text" name="haslo" size="35" maxlength="35" /></p>
<p><b>Podaj numer telefonu</b>:<br /><input type="text" name="tel" size="35" maxlength="35" /></p>
<p><b>Twój e-mail</b>: <br /><input type="text" name="e_mail" size="35" maxlength="35" /></p>
<input type="submit" name="wys_kom" value="Wyślij" class="przycisk"/>
</form>
</div>
';
ob_end_flush();
ob_end_clean();
?>
</body>
</html>[/code]
加上''在第一行,即文件的第一个字符,即在<!DOCTYPE之前。 –
air4x
[**请不要在新代码中使用'mysql_ *'函数**](http://bit.ly/phpmsql)。他们不再被维护,[弃用过程](http://j.mp/Rj2iVR)已经开始。看到[**红框**](http://j.mp/Te9zIL)?学习[*准备的语句*](http://j.mp/T9hLWi),并使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [这篇文章](http://j.mp/QEx8IB)将帮助你决定哪个。如果你选择PDO,[这里是一个很好的教程](http://j.mp/PoWehJ)。 –
这不是这个地方。让我们[在聊天中继续讨论](http://chat.stackoverflow.com/rooms/18718/discussion-between-madara-uchiha-and-kev) –