ugrás a tartalomhoz

Session probléma...

Anonymous · 2006. Ápr. 29. (Szo), 22.34
Üdv!

Lenne egy "kis" problémám a session-al.
Mysql-ben működik a session rendszerem.

És az lenne a bajom vele, hogy:

van egy profile_edit.php fájlom amiben ha megnyomom a mentés gombot akkor az átirányit a profile.php fájlra (header("Location: profile.php");), de még ez elött csinálok egy újabb session adatot: $_SESSION['user_profile_edit_save'] = "yes";

nos mikor átmegy a profile.php fájlra elvileg ezt kéne kiirnia: "A mentés sikeres volt."

ennek a segítségével:

if (isset($_SESSION['user_profile_edit_save'])) {
print '<div class="message">
A mentés sikeres volt.
</div>';
}

itt jön egy kis tartalam és a lap végém ezt a session bejegyzést eltüntetem ennek a segítségével:
unset($_SESSION['user_profile_edit_save']);

ez eddig müxik is és elsőnek jó is volt meg talán másodiknak is...
... de, volt olyan h megnyomtam a mentés gombot és nem írt ki semmit, akárhányszor frissítettem is (de hüleség is sokszor frisíteni mivel tölri a sessiont a lap végén), de volt olyan is hogy: mikor a mentés megnyomtam nem írt ki semmilyen üzit az oldal de egyet frissítettem és akkor kiirta az üzenetet (A mentés sikeres volt.) és frissítetem egyet és megint eltűnt mint ahogy kellene is neki, csakugye az volt a hiba benne hogy elsőre nem jött be...

de miért?

a másik problémám is hasonló:

van egy login.php -m ahol ugye be lehet lépni, és mikor beírom a felhasználónevet és a jelszót akkor belép, majd a kilépés gombra ugyebár törli a session-t.

de...:

volt olyan elég sűrűn hogy mikor belépek kiirja hogy: "Elérés megtagadva!"

ezt akkor irja ki a profile.php ha olyan felhasználó akarja megnézni az oldalt aki nincs bejelentkezve tehát az uid -ja 0, mert a 0 jelenti ebben az esetben azt hogy nincs senki sem belépve.

és ilyen sokszor van hogy egymás után 3szor is beirom a jó felhasználót és a jelszót és átirányit a profile.php -ra de mivel nem állít bejelentkezetnek ezért az hibát észlel.

mikor belépek a profile.php -ra az generál egy session -t
$_SESSION['user_login_yes'] = "yes";

ezt azért csinálja hogy kiirjam mikor lépett be a felhasználó utoljára.

és mikor belépek és nem sikerül a belépés és kiis irja a hiba üzit akkor megnézem a session táblát és az uid 0 de viszont a data oszlopban (ide irja a session rendszer a generált session adatokat) ott van hogy
user_login_yes : yes tehát mintha belépett volna csak az uid-ot nem változtatja meg csak nem értem hogy miért, mert általáben ez működik.

Végülis nem zavar amig a netes oldalon ez nem jön elő, met ezt csak otthoni php szerveren használom és még neten nincs fenn..

Nost mit szóltok ehez?
Bocs h ilyen hosszan írtam le, de sajnos csak így tudtam:(

Előre is köszönöm...
 
1

exit()

Grandmaster · 2006. Ápr. 30. (V), 01.39
Az elsore a megoldas az
exit();
melyet a header(); fuggveny utan helyezz el. A masodik problemat mar nem olvastam el, mert tul faradt voltam. :)
2

müxik....

Anonymous · 2006. Ápr. 30. (V), 09.53
Ok, kössz mindent mind a 2 problémáma megoldotta...

Köszönöm szépen mégegyszer nagy kő esset le rólam...

de esetleg még azt is eltudná mondnani valaki hog yaz exit() függvény mért oldaja meg ezt a problémát??