Wiem, wiem takich tematów było już tysiące lecz żadne rady dot. nich nie podziałały. Próbowałem:
- przed session_start(); dać ob_start(); jak i ob_start("ob_gzhandler");
- kodowanie UTF8 BEZ BOM
- usunałęm wszystkie spacje, entery przed rozpoczęciem sesji
Mogę oczywiście wyłączyć raportowanie błędów lecz nie chcę ukryć problemu, a go rozwiązać.
Mój kod:
<?php
if( !defined( 'GAME_THIS_SCRIPT' ) )
if( $_SESSION[ 'logged' ] )
echo 'Już jesteś zalogowany!'; else
{
$showWindow = '<div class="login">';
$showWindow .= '<form action="?task=login" method="post">';
$showWindow .= 'Login: <input type="text" name="login"><br />';
$showWindow .= 'Hasło: <input type="password" name="pass"><br />';
$showWindow .= 'Świat: <select name="world"><option>Świat 1</option><option>Świat 2</option></select><br />';
$showWindow .= '<input type="submit" name="sendLogin" value="Zaloguj"><br />';
$showWindow .= '</form>';
$showWindow .= '</div>';
if( isset( $_POST[ 'sendLogin' ] ) ) {
$login = trim( $_POST[ 'login' ] ); $pass = trim( $_POST[ 'pass' ] );
echo 'Wypełnij wszystkie pola!'; else
{
$pass = sha1( $pass );
$result = mysql_query( "SELECT * FROM users WHERE login='$login' AND pass='$pass'" );
echo 'Niestety lecz podałeś niepoprawne dane!'; else
{
$_SESSION[ 'logged' ] = true;
$_SESSION[ 'id' ] = $row[ 'id' ];
$_SESSION[ 'login' ] = $row[ 'login' ];
$_SESSION[ 'world' ] = $row[ 'world' ];
echo 'Logowanie zakończone sukcesem!'; }
}
}
}
?>