בעיה ב session

יולו

New member
בעיה ב session

רק עכשיו החלטתי ללמוד שאני ידע גם session כי ברור לי שזה שוב והרבה פעמיים יעיל יותר ומאובטח יותר מעוגיות.. אז ניסיתי להכין קוד והנה הוא:
<?php session_start(); if (isset($_SEESION['count'])) { echo ("session found. this is the " .$_SESSION['count']. " times youve been here"); ++$_SESSION['count']; } else { $_SESSION['count']=1; echo ("this is the first time youve been here"); ++$_SESSION['count']; } ?>​
מישהו יודע מה הבעיה? זה אמור להגיד לך כמה פעמיים היית ואם הייתי פעם אחת אז פעם אחת ומגדיל.. מה הבעיה? תודה מראש, יולו.
 

yoavdev

New member
נראה לי ככה אבל ברגע שתסגו

ברגע שתסגור את הדףדףן זה יחסל את הסשן <?php session_start(); if (isset($count)) { echo ("session found. this is the " .$count. " times youve been here"); ++$_SESSION['count']; } else { $_SESSION['count']=1; echo ("this is the first time youve been here"); ++$_SESSION['count']; } ?>
 

יולו

New member
יוצא אותו דבר..

אותה תשובה.. זה נשאר על זה שביקרת רק פעם אחת.. זה לא שינה משהו ששמת $count; במקום 'count' תשובה?
 

יולו

New member
מוזר..

אצלי זה יוצא כל פעם שזאת הפעם הראשונה שאני נמצא.. =\
 

יולו

New member
אופס..

כמה פעמיים עברתי על זה ולא שמתי לב
תודה רבה
 

יולו

New member
עדיין לא עובד בעצם..

<?php session_start(); if (isset($_SESSION['count'])) { echo ("session found. this is the " .$_SESSION['count']. " times youve been here"); ++$_SESSION['count']; } else { $_SESSION['count']=1; echo ("this is the first time youve been here"); ++$_SESSION['count']; } ?>​
 

shanor

New member
מממ...

יולו, הכל עובד... לקחתי את הסקריפט שלך, העתקתי אותו, הרצתי אותו (לא בסביבת פיתוח אלא על השרת עצמו Localhost) - יחד עם הגדרות אמיתיות של SESSIONS, והכל עובד. כל פעם שעשיתי REFRESH המספר עלה בדיוק כמו שצריך. הבעיה שבה אתה נתקל יכולה להגרם ממספר גורמים: 1. אתה מריץ את הסקריפט בסביבת פיתוח (IDE) כל שהיא שמדמה סביבה אמיתית אבל לא יכולה לשתול קוקיס, או לחלופין לא יכולה לכתוב קובץ SESSION למקום הנכון. 2. אם אתה מריץ את PHP על שרת, אז תבדוק את ההגדרות של תיקיית ה- SESSION בקובץ ה-INI של PHP. כנראה שהתיקיה לא מוגדרת או שהתיקיה המוגדרת לא קיימת. בכל אופן, הנתונים שנשמרים יהיו בדרך כלל בתוך קובץ עם שם דומה לזה: sess_f13b6b26b260c54d1cdfbd460351c101 (שים לב שם דומה ולא בשם הזה) - וזאת כמובן בהנחה ולא שיחקת עם ההגדרות של PHP... חפש אצלך על המשחב קובץ שמתחיל בSESS, ותראה אם אתה מוצא אותו. תבדוק מה הוא מכיל (הוא אמור להכיל את הנתונים אותם אתה רוצה ב- SESSION). כל זה בהנחה ותמצא את הקובץ. תבדוק, ותעדכן אותנו. בברכת הצלחה, שנאור.
 

יולו

New member
מה לשנות בקובץ ה php.ini

הגעתי אליו ומצאתתי את החלק של ה session שלו.. אני לא מוצא מה לשנות כדי להפעיל אותו..
 

shanor

New member
מממ....

הנה דוגמא:
session.save_path = d:\sessiondir​
כמובן שצריך שתהיה תיקיה בכונן D (במקרה הזה) שנקראת SESSIONDIR, כי לשם מפנים את הקבצים של הSESSION. זאת כמובן בהנחה שאתה מריץ את PHP על שרת כל שהוא (וצריך לשים את זה בקובץ PHP.INI שבמערכת ההפעלה שלך אחרת זה לא יעבוד). אם אתה לא מריץ על שרת אלא עובד בסביבת פיתוח זה לא יעבוד... אם אתה לא עובד על סביבת שרת כל שהיא, תפתח לך חשבון באתר כל שהוא שמאפשר PHP, תעלה את הסקריפט שלך ותריץ אותו. זה עובד. בברכת הצלחה, שנאור.
 

יולו

New member
שאלה נוספת..

אם אני ישנה את זה ל
session.save_path = c:\sessiondir​
זה ישמור את כל קבצי ה session שם אוטומטי? אני צריך לפתוח תיקייה בשביל זה או שהוא יפתח לבד.. כי אין לי כונן D כנראה זה לא עבד לא?
 

יולו

New member
../images/Emo51.gifהצלחתי!

כן :) שיניתי את מ
/tmp
ל
c:/sessiondir
אח"כ בדקתי ועדיין לא עבד.. הוא כמובן לא מצא את התיקייה.. פתחתי תיקייה בכונן C:/ וקראתי לו בשם sessiondir עשיתי שוב פעם רענן ועבד.. תודה רבה לכל מי שעזר.. ובמיוחד לשנאור..
 
למעלה