SESSION

yair24

Member
SESSION

שלום יש לי דף ADMIN שיש בו הרבה אפשרויות ניהול, כל אפשרות זה לינק, עכשיו יש לי עמוד עם טופס שמקבל שם משתמש וססמא ואז אם הסיסמא נכונה והשם משתמש נכון הוא מכניס אותך ועושה את הפעולה הבאה:
<? $result = mysql_query("SELECT * FROM *****",$mysql_link) ; $isAuth = false; //set to false originally while($row = mysql_fetch_array($result)) { if($row['Name'] === $_POST['username'] && $row['Pass'] === $_POST['password']) //above row checks to see if username/password combination exists { $isAuth = true; session_start(); $_SESSION['username'] = $_POST['username']; } } if($isAuth) { header("Location: *****.php"); // print "logged in successfully<br>"; // print "<A href='index.php'>Go to Admin Panel</a>"; } else //if login/pass does not exist { header("Location: ./"); } ?>​
ברגע שהכנסת שם משתמש וססמא נכונים אני מתחיל פה SESION (כמו שראיתם בקוד המצורף) והמנהל נכנס לאזור הADMIN אוקיי? עכשיו באזור הזה יש הרבה לינקים שאני לא רוצה שייכנסו אליהם אם הSESION לא הותחל... לכן אני שם INCLUDE לקובץ כזה בראש כל עמוד "מאובטח":
<? session_start(); //this must be at the top of every page if (!isset($_SESSION['username'])) { header("Location: " . "http://***.***.***/"); exit(); } ?>​
הבעיה שלי היא שאני מעוניין שנגיד עכשיו המנהל נכנס לאזור הADMIN ויצא מהאתר לאתר אחר אז כשהוא לוחץ BACK הוא יגיע לעמוד שיגיד לו EXPIRED ולא ייתן לו לחזור. איך אני עושה את זה? אני מקווה שהשאלה ברורה יאיר
 

kensaggy

New member
ממממ...

אתה לא יכול לעשות את זה אוטומטית לגמרה כי session נגמר רק כאשר הדפדפן נסגר או כאשר "הורגים" את הsession במהלך הקוד. מה שכן אפשר לעשות (למרות שזה לא ממש פתרון) זה לקבוע ל session חיים קצרים יותר ע"י http://il.php.net/manual/en/function.session-cache-expire.php בהצלחה, חן.
 
למעלה