Przerobiłem sobie pewien skrypt logowania który był oparty o pliki ja go przerobiłem żeby był obsługiwany przez MySQL.
<?php
ini_set( 'session.use_cookies', 1
);
die ("Nie można połączyć się z bazą");
if( !empty( $_POST['login'] ) && $_POST['haslo'] ) {
//us
$query = mysql_query("SELECT * FROM users WHERE ksywa = '{$_POST['login']}'"); print "Brak loginu ".$_POST['login']." w bazie"; }else{
$querypass = mysql_query("SELECT * FROM users WHERE ksywa = '{$_POST['login']}' and pass = '{$_POST['haslo']}'"); print "Nie poprawne hasło"; }else{
$_SESSION['user'] = $_POST['login'];
$_SESSION['status'] = $rekord['statususer'];
header( 'Location: '. $_POST['from'] ); //przekierowanie
}
}
}
elseif( $_GET['def'] == 'logout' )
{
header( 'Location: '. $_SERVER['HTTP_REFERER'] ); // przekierowanie }
else
{
header( 'Location: '. $_SERVER['HTTP_REFERER'] ); // przekierowanie }
?>
Jednak w skrycie tym mam błędy i nie wiem jak sobie z nimi poradzić:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /httpd/mycms/logowanie/login.php:1) in /httpd/mycms/logowanie/login.php on line 5
Warning: Cannot modify header information - headers already sent by (output started at /httpd/mycms/logowanie/login.php:1) in /httpd/mycms/logowanie/login.php on line 26
Proszę o pomoc.
Formularz logowania wygląda tak:
<?php
// krok 1
ini_set( 'session.use_cookies', 1
); // krok 2
if( !isset( $_SESSION['user'] ) ) {
// krok 3
formularz();
}
else
{
// krok 4
echo "Witaj ". $_SESSION['user'] .'<br>'; echo '<a href="login.php?def=logout">Wyloguj mnie</a>'; print $_SESSION['status']; define( 'STATUS', $_SESSION['status'] ); }
function formularz()
{
echo "<form method='POST' action='login.php'>"; echo "Login<input type='text' name='login'><br>"; echo "Haslo<input type='password' name='haslo'>"; echo "<input type='hidden' name='from' value='". $_SERVER['PHP_SELF'] ."'>"; echo "<input type='submit' value='ok'></form>"; }
?>