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"; if ($opcja=="test") { // ************************************************** // ********** 1. sprawdzenie danych i dodanie uzytkownika // ************************************************** echo "<span style=\"color:red;\">Login musi miec od 3 do 50 znakw bez polskich liter i spacji!</span><br />"; } else { echo "<span style=\"color:red;\">Login ju zostal przez kogo uzyty!. Zaproponuj inny!</span><br />"; } } echo "<span style=\"color:red;\">Haso musi miec od 6 do 50 znakw bez polskich liter i spacji!</span><br />"; } echo "<span style=\"color:red;\">E-mail nie zosta podany prawidowo!</span><br />"; } if ($blad==0) { VALUES('$login', '$haslo', '$kod', 1, NOW(), '$email', '$imie', '$postep')"); 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); 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 - } } ?> </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<>"") { login='$login' and haslo='$haslo' and status=5"); $_SESSION["zalogowany"]="tak"; $_SESSION["login"]=$dane["login"]; $_SESSION["imie"]=$dane["imie"]; $_SESSION["email"]=$dane["email"]; } } } ?> <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 { echo <<<KONIEC <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?