
18-01-2008, 21:04
|
|
|
|
חבר מתאריך: 05.01.08
הודעות: 37
|
|
אולי אם אציג את כל הסיפור העניין יהיה ברור יותר
אני כרגע עובד על דף "פרופיל משתמש" שבו ישנו קישור "שלח הודעה" , כאשר משתמש לוחץ על שלח הודעה אני בודק האם הוא מחובר, אם כן עובד לדף כתיבת ההודעה אם לא עובר לדף כניסה, שמחזיר אותו לדף הפרופיל אחרי שנכנס, דף הקישור לדף הפרופיל נראה כך :
קוד:
<a href="user_profile.php?user=blabla">
בדף הפרופיל עצמו אני מציג נתונים על פי שם המשתמש שקיבלתי ב- GET
הבעיה היא כזו, כאשר אני מפנה את המשתמש לעשות LOGIN הוא חוזר ללא יוזר בשורת הכתובת לכן אם אני עושה GET אני מקבל שגיאה, אז מה שעשיתי זה הפעלתי
קוד:
$_SESSION['saveUser']
שבו אני שומר את שם המשתמש, וכאשר אני מפעיל שוב את דף הפרופיל ישנה שאלה ב- HEAD
קוד PHP:
if ( isset($_SESSION['saveUser'])) { $user = $_SESSION['saveUser']; unset($_SESSION['saveUser']); } else $user = $_GET['user'];
החלק שמציג את הקישר בודק אם היוזר מחובר ונראה כך
קוד PHP:
<?php if (isUserLoggedIn()) { if ( $logged_user!=$user ) echo '<a href="sendMessage.php?user='. $user . '">שלח הודעה</a>'; } else { $_SESSION['saveUser'] = $user; echo '<a href="login.php">שלח הודעה</a>'; } ?>
כמו שניתן לראות הפעלתי פונקציה UNSET למצב שהמשתמש עדיין לא מתחבר ומחליט להציג דף משתמש אחר, לא רציתי לשמור את הערך ב- saveUser
כאמור הבעיה שעולה היא, נוצר מעין לופ שלא מוחק את הערך ב- SESSION כיוון שאני מעדכן ערך מחדש במצב שהיוזר לא מחובר, כך שאני מוחק ומיד מעדכן, ומכאן והלאה בכל כניסה לדף יוצג הפרופיל של אותו המשתמש כיוון ששמור ב- SESSION
אודה להתייחסות !!
נערך לאחרונה ע"י tml028 בתאריך 18-01-2008 בשעה 21:12.
|