Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z logowaniem
Forum PHP.pl > Forum > PHP
zerdo
Witam
Mam problem z logowaniem. Loguje sie za pomoca sesji i na localhost wszystko idzie ok a jak wgram strone na serwer to ni da sie zalogowac. Wydaje mi sie ze to jest sprawa sesji. Czy ktos wie jaka moze byc przyczyna? Nie jest to sprawa przegladarki ani firewalla.

Logowanie jest poprzez:
Kod
session_name('2');
@session_start();
$_SESSION['uzytkownik_nick'] = "ja";


pozniej jest sprawdzenie sesji w funkcji:
Kod
function sprawdz_sesje(){
if (isset($_SESSION['uzytkownik_nick'])){
print "<div class=menu_prawe>";
print "<center>Witaj: <strong>".$_SESSION['uzytkownik_nick']."</strong></center>";
print "</div>";
$s=session_id();
return true;
}

else
{
    print "<div class=menu_prawe>";
    PRINT "<center>Witaj: <strong> gościu!</strong></center>";
    print "</div>";
    return false;
}
}
nexis
Zlituj się nad naszymi oczami i umieść w odpowiednich tagach przygotowanych do tego celu.

// EDIT

Właściwie chodziło mi o znaczniki PHP. smile.gif
zerdo
Sorki - juz poprawiam
drPayton
Usuń małpę sprzed session_start() i zobaczy czy (jeśli tak to jaki) błąd wywali...

Edit: z php.net:
Cytat
Warning

The session name can't consist of digits only, at least one letter must be present. Otherwise a new session id is generated every time.
zerdo
To jest tresc bledu:
Kod
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\program files\...


Szczerze mowiac niewiem czemu tak jest napisane
drPayton
Google się zepsuło? aaevil.gif
session_start (a wcześniej session_name (zwróć uwagę na to co napisałem (a raczej wkleiłem) w poprzednim poście)) musi być na początku skryptu. Może masz jakieś białe znaki wcześniej, albo w ogóle robisz tam coś jeszcze. Pokaż cały skrypt od początku do tego co już napisałeś
zerdo
No faktycznie gdy ustawiłem na początku to nie ma już tego komunikatu!!! Ale sesja itak nie działa! Nic się nie wyświetla!

Nawet jak napisze takie 2 proste pliki to itak w nich nie przechodzi sesja!

Plik1: proba.php
Kod
<?PHP
session_name('2');
session_start();

$_SESSION['uzytkownik_nick'] = "ja";


print "<A href=\"proba2.php\">Kliknij</a>";
?>


plik2: proba2.php
Kod
<?PHP
session_name('2');
session_start();


if(isset($_SESSION['uzytkownik_nick']))
{
print "<br />jest: ".$_SESSION['uzytkownik_nick'];
}else{
print "<br />brak: ".$_SESSION['uzytkownik_nick'];
}
?>
drPayton
Zwróć uwagę na drugą rzecz o której napisałem (cytat z php.net).Może to powoduje problem (sesje są różne w tych dwóch plikach). Nazwa sesji musi zawierać przynajmniej jeden znak inny niż cyfra (litera, podkreślnik _ też chyba może być)
zerdo
Wielkie dzieki za pomoc:) Teraz już wszystko działa i śmiga tak jak powinno:) Tak jak mówiłeś - zmieniłem nazwe sesji i wszystko ładnie chodzi:)
Jeszcze raz dzięki:)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.