Witam,
Po przeniesieniu strony www na inny serwer zaczęły wyskakiwać mi komunikaty z błędami:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /website/index.php:11) in /website/pliki/index.php on line 3
Nie mam pojęcia co jest tą przyczyną bo zrobiłem już chyba wszystko co tylko było opisywane na ten temat w podobnych wątkach i na innych stronach www.
Zmieniłem kodowanie na Uft8 bez BOM, pousuwałem ciasteczka, próbowałem z buforowanie strony, ale to nic nie pomogło. Na poprzednim serwerze (IQ.pl) strona działała bez zarzutów, po przeniesieniu na inny serwer (home.pl) są problemy. Podam kod dwóch plików o nazwie index.php (mają tą samą nazwę ale ten drugi jest w niższym katalogu o nazwie "pliki")
index.php<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html" charset="ISO-8859-2" />
<title>Website</title>
<LINK HREF="stylek.css" REL="stylesheet" TYPE="text/css" />
</head>
<body>
<div id="all">
<div id="lalala"></div>
<div id="logowanie">
<?php
include('pliki/index.php');
?>
</div>
<div class="r_top"><img src="images/rejestracja_top.png" /></div>
<div id="rejestracja">
<?php
$mysql_host = "nazwa_hosta";
$mysql_login = "login";
$mysql_haslo = "haslo";
$mysql_baza = "nazwa_bazy";
$mysql_tabela = "nazwa_tabeli";
$twoj_adres = "adres_email";
$opcja = trim($_REQUEST["opcja"]);
if ($opcja=="test") {
// **************************************************
// ********** 1. sprawdzenie danych i dodanie uzytkownika
// **************************************************
or
!eregi("^[a-zA-Z0-9_.]+$",$login)) { $blad++; echo "<span style=\"color:red;\">Login musi miec od 3 do 50 znakw bez polskich liter i spacji!</span><br />";
} else {
if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { $wynik=mysql_query("SELECT * FROM $mysql_tabela WHERE login='$login'"); } else echo "Nie mona poczy sie z baza"; } else echo "Nie mona polczyc sie z serwerem MySQL"; echo "<span style=\"color:red;\">Login ju zostal przez kogo uzyty!. Zaproponuj inny!</span><br />";
}
}
or
!eregi("^[a-zA-Z0-9]+$",$haslo)) { $blad++; echo "<span style=\"color:red;\">Haso musi miec od 6 do 50 znakw bez polskich liter i spacji!</span><br />";
}
if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email)) { $blad++; echo "<span style=\"color:red;\">E-mail nie zosta podany prawidowo!</span><br />";
}
if ($blad==0) {
$haslo = md5($haslo); // zaszyfrowanie hasla if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { VALUES('$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie', '$postep')");
} else echo "Nie mona poczy si z baz"; } else echo "Nie mona poczy si z serwerem MySQL";
if ($wynik) {
$list="
Aby potwierdzic rejestracje kliknij w ciagu 48 godzin na adres:
<a href="http://stronawww/index.php?opcja=potwierdz&kod=$kod" target="_blank">http://stronawww/index.php?opcja=potwierdz&kod=$kod</a>
Jezeli nie chcesz sie rejestrowa, zignoruj ten list.
";
mail($email, "Rejestracja", $list, "From: <$twoj_adres>");
echo "<p>Aby dokoczy proces rejestracji odbierz e-mail</p>";
}
} else $opcja="";
}
if ($opcja=="") {
echo <<<KONIEC
<form action="index.php" method="post">
<input type="hidden" name="opcja" value="test" />
<table>
<tr>
<td>login:*</td>
</tr>
<tr>
<td><input type="text" name="login" value="$login" class="przycisk" /></td>
</tr>
<tr>
<td>haso:*</td>
</tr>
<tr>
<td><input type="password" name="haslo" value="$haslo" class="przycisk" /></td>
</tr>
<tr>
<td>Email:*</td>
</tr>
<tr>
<td><input type="text" name="email" value="$email" class="przycisk" /></td>
</tr>
<tr>
<td>Email wykadowcy:*</td>
</tr>
<tr>
<td><input type="text" name="email_w" value="$email_w" class="przycisk" /></td>
</tr>
<tr>
<td>Imi i nazwisko:*</td>
</tr>
<tr>
<td><input type="text" name="imie" value="$imie" class="przycisk" /></td>
</tr>
<tr>
<td>
Status:
<input type="radio" name="status" value="s"> Student
<input type="radio" name="status" value="w"> Wykadowca
</td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td><input type="submit" value=" OK, rejestruj si!" style="margin-left:30px; margin-top:-15px" /></td>
</tr>
</table>
</form>
KONIEC;
}
if ($opcja=="potwierdz") {
// **************************************************
// ********** 3. potwierdzenie rejestracji, uaktywnienie uzytkownika
// **************************************************
$kod = htmlspecialchars(stripslashes(trim($_GET["kod"])), ENT_QUOTES);
if ($kod<>"") {
if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) {
if (mysql_select_db($mysql_baza)) {
$wynik = mysql_query("DELETE FROM $mysql_tabela
WHERE data<=DATE_SUB(NOW(),INTERVAL 2 DAY) and status=1");
$wynik = mysql_query("UPDATE $mysql_tabela
SET status='5', data=NOW() WHERE kod='$kod' and status=1");
$wynik = mysql_query ("UPDATE $mysql_tabela
SET postep='1' WHERE kod='$kod' and status=5");
$wynik = mysql_query("SELECT * FROM $mysql_tabela
WHERE kod='$kod' and status=5");
} else echo "Nie mozna polaczyc sie z baza";
mysql_close($baza);
} else echo "Nie mozna polaczyc sie z serwerem
MySQL"; if (mysql_num_rows($wynik)==1) {
$dane = mysql_fetch_array($wynik);
echo "<p>Dziekujemy. Rejestracja zostala zakonczona poprawnie.</p>";
}
}
if ($kod=="" or mysql_num_rows($wynik)<>1) {
echo "<p>Rejestracja nie moze zostac dokonczona -
sprawdz czy
link jest poprawny
!</p
>"; }
}
?>
</div>
<div id="stopka"></div>
</div>
</body>
</html>
drugi plik:
pliki/index.php<?php
$mysql_host = "nazwa_hosta";
$mysql_login = "login";
$mysql_haslo = "haslo";
$mysql_baza = "nazwa_bazy";
$mysql_tabela = "nazwa_tabeli";
// **************************************************
// ********** wylogowanie i zalogowanie z ustaleniem sesji...
// **************************************************
$login = $_POST["login"];
$haslo = $_POST["haslo"];
if ($_GET["login"]=="koniec") { // wylogowanie
} else if ($login<>"" and $haslo<>"") {
if ($baza = mysql_connect($mysql_host, $mysql_login, $mysql_haslo)) { $wynik = mysql_query("SELECT * FROM $mysql_tabela WHERE login='$login' and haslo='$haslo' and status=5");
$_SESSION["zalogowany"]="tak";
$_SESSION["login"]=$dane["login"];
$_SESSION["imie"]=$dane["imie"];
$_SESSION["email"]=$dane["email"];
}
} else echo "Nie można połączyć się z bazą"; }
}
?>
<table width="100%">
<tr><td valign="top" width="100">
<?php
// **************************************************
// ********** panel formularza do zalogowania i wylogowania
// **************************************************
if ($_SESSION["zalogowany"]=="tak") {
echo "<a href=\"index.php?login=koniec\">wyloguj się</a><b> Witaj <span style=\"color:#1a5a95;\">".$_SESSION["login"]."</b></span>"; } else {
<form action="index3.php" method="post">
<table>
<tr>
<td align="right">login: </td>
<td><input type="text" name="login" class="przycisk_log" /></td>
<td align="right">haslo: </td>
<td><input type="password" name="haslo" class="przycisk_log" /></td>
<td colspan="2" align="right">
<input type="submit" class="buton" value=""/></td>
</tr>
</table>
</form>
KONIEC;
}
?>
</td>
Dlaczego wyskakuje mi błąd?