הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   בעיה מוזרה עם עוגיות PHP (https://hosts.co.il/forums/showthread.php?t=60978)

phpyo 15-03-08 18:45

בעיה מוזרה עם עוגיות PHP
 
שלום.

בניתי סקר ב-PHP.
ישנה בדיקה בשביל לבדוק האם הגולש הצביע בעבר:
PHP קוד:

if(isset($_COOKIE[$cookie]))
    
$v 1;
else
    
$v 0

עכשיו הבעיה היא שבכניסה הראשונה לאתר, העוגיה כאילו לא קיימת, והמשתנה v שווה 0 תמיד.
כאשר אני מנווט באתר, וחוזר לאותו עמוד, לפתע העוגיה קיימת ו-v מקבל ערך 1.

מה קורה פה?

ViPeRt 15-03-08 19:26

יש לך משהו במשתנה $cookie ?

Daniel 15-03-08 19:56

HTML קוד:

if(isset($_COOKIE[$cookie]))
    $v = 1;
else
    $v = 0;

כאשר אין גרשיים, 1 זה TRUE ו-0 זה FALSE. הוסף להם גרש/גרשיים וזה יהיה בסדר

phpyo 15-03-08 23:09

במשתנה cookie יש ערך, וגם כאשר כתבתי שם רגיל זה אותה הבעיה.
לגבי התגובה השניה, הכוונה שלי פה היא בסדר, כאשר v=1 הבנאדם הצביע, וזה גם מה שנבדק ב-HTML.

daMn 15-03-08 23:17

בעיה נפוצה ומוכרת.
תחשוב רגע..
מה זה קוקי לעומת סשן ? :)
קוקי-נשמר אצל הלקוח
סשן-נשמר בשרת

שהדף מופעל בפעם הראשונה ואתה בעצם "שותל" את העוגיה, היא נמצאת אצל הלקוח רק אחרי שהשרת מדפיס את העמוד ככה שבפעם הראשונה הלקוח לא יראה את העוגיה, אלא אחרי ריענון העמוד.
פתרון? אני חושב שאפשר לקחת דוגמא ממערכות מוכנות, לדוג' התחברות בVBulletin לוקחת אותך לעמוד אחר אחרי ההתחברות שבעצם מרעננת את העמוד כדי להציג את הקוקי, אני מאמין שזאת הסיבה.

phpyo 15-03-08 23:22

זה אכן מה שעשיתי כבר, וזה עבד, הבעיה היא שהתקלה שתאירתי למעלה קורית מדי פעם גם אחרי שהלקוח הצביע כבר לסקר וכבר הוצגו לו התוצאות (כלומר השרת זיהה את העוגיה), ואחרי רענון זה לא עובד אלא רק לאחר ניווט בשרת.
השרת שלי הוא חתיכת ווירדו LOL

GalN 16-03-08 20:17

לפי דעתי.. קח את הIP של המשתמש שמור אותו (אם אתה משתמש בTXT) בקובץ או (אם אתה משתמש בSQL) בטבלה.. ואז אם IP קיים בקובץ\טבלה אז אין אפשרות להצביע... :P

אם אתה רוצה מערכת מוכנה שלפי דעתי תעזור לך הרבה וגם תוכל ללמוד ממנה תחפש בגוגל: Fpoll
אחלה מערכת (:

מקווה שתצליח ;)


כל הזמנים הם GMT +2. הזמן כעת הוא 22:45.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ