napisalem sobie system logowania. Wszystko OK działa. Jednakże nie zapamiętuje ... czasem na krótką chwilę ....
<?php
function formularz_logowania( $login_php=0, $error=0 )
{
//Błąd logowania
$error = ( $error == 1 ) ? '<span class="form_error"><strong>Niepoprawny login/hasło !</strong></span>' : '';
<form method="post" action="'.$_SERVER['PHP_SELF'].'">
<div class="naglowek_d">
Zaloguj się
</div>
<div class="content_1" style="padding-top:10px;padding-left:10px;padding-bottom:8px;text-align:center">
<span class="topLogowanie">Login:</span>
<input type="text" size="12" class="topLogowanieS" style="width:65px" name="login" /><br />
<span class="topLogowanie">Hasło:</span>
<input type="password" size="12" class="topLogowanieS" style="width:65px" name="pass" /><br />
<span class="topLogowanie">Zapamiętaj:</span>
<input name="zapamietaj" type="checkbox" value="1" /><br />
<input id="topZaloguj" type="submit" name="submit" value="ZALOGUJ" /><br />
</div>
</div>
</form>
';
}
function zalogowany( $sesja=0, $login_php=0, $id=0 )
{
$sql = "SELECT id FROM wiadomosci WHERE odbiorca=".$_SESSION['logowanie']['id']." AND status='1' AND folder='0'";
<div class="naglowek_d">
'.$plec.' '.$sesja.'
</div>
</div>
';
}
function zapis( $wyszukaj=0 )
{
//Czas życia ciasteczka;
$czas_ = 86400*30*3;
/*Zapisywanie do sesji danych użytkownika z bazy*/
{
$_SESSION['logowanie'] = $wynik2;
$wykonaj = mysql_query( "SELECT * FROM users_zezwolenia WHERE id_usera=".$wynik2['id']."" ); {
/*Zapisywanie do sesji uprawnień*/
$_SESSION['u'] = $users;
/**/
}
/*Zapisywanie do sesji danych użytkownika z bazy*/
$_SESSION['id'] = $wynik2['id'];
$_SESSION['id_log'] = $wynik2['id'];
$_SESSION['haslo'] = $wynik2['haslo'];
$_SESSION['ost_log'] = $wynik2['ostatnie_logowanie'];
$_SESSION['forum']['kod'] = $wynik2['kod'];
/**/
}
/**/
if( $_POST['zapamietaj'] == '1' )
{
$kod = rand( 1200000000
, 999999999999
);
//zmiana kodu i daty ostatniego logowania
$sql0 = "UPDATE `users` SET `ostatnie_logowanie`='".date( "Y-m-d H:i:s" )."', `kod`='".$kod."' WHERE `id`='".$_SESSION['logowanie']['id']."'";
setcookie( "zapamietaj", $_SESSION['logowanie']['login'], time()+$czas_ ); }
?>
<?php
else
{
//zmiana daty ostatniego logowania
$sql0 = "UPDATE `users` SET `ostatnie_logowanie`='".date( "Y-m-d H:i:s" )."' WHERE `id`='".$_SESSION['logowanie']['id']."'";
}
}
/*
-----------
--------------------------------------------------------------------------------
-----------
*/
if( $_SESSION['logowanie']['id'] )
{
echo zalogowany
( $_SESSION['logowanie']['login'], $head_inc_php_theme, $id); }
elseif( isset( $_POST['pass'] ) && isset( $_POST['login'] ) ) {
//poprawny login i haslo, utworzenie sesji z loginem usera
if( $ile == 1 )
{
echo zalogowany
( $_SESSION['logowanie']['login'], $head_inc_php_theme, $id); }
else
{
echo formularz_logowania
( $head_inc_php_theme, 1
); }
}
elseif( isset( $_COOKIE['zapamietaj'] ) && isset( $_COOKIE['zapamietaj2'] ) ) {
if( $wynik == 1 )
{
echo zalogowany
( $_SESSION['logowanie']['login'], $head_inc_php_theme, $id); }
else
{
echo formularz_logowania
( $head_inc_php_theme, 1
); }
}
else
{
echo formularz_logowania
( $head_inc_php_theme ); }
if ( $_GET['mode'] == 'wyloguj' )
{
unset( $_SESSION['logowanie'] );
setcookie( "zapamietaj", $_SESSION['logowanie']['id'], time()-86400
); setcookie( "zapamietaj2", $_SESSION['logowanie']['cookie'], time()-86400
); header( "Location:".$_SERVER['PHP_SELF']."" ); }
if ( $_GET['mode'] == 'zapamietaj' )
{
setcookie( "auto", $_SESSION['logowanie']['id'], time()+$czas_ ); setcookie( "zapamietaj2", $_SESSION['logowanie']['cookie'], time()+$czas_ ); header( "Location: ".$_SERVER['PHP_SELF'] ); }
?>