לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 16-10-2010, 16:07
צלמית המשתמש של MatiM
  משתמש זכר MatiM MatiM אינו מחובר  
 
חבר מתאריך: 12.04.06
הודעות: 2,021
שלח הודעה דרך MSN אל MatiM
יצירת עוגיות כמערך

ערב טוב,

אני מחפש דרך נוחה לקבל את העוגיות שאני יוצר, ברגע שאני יוצר.

אם אני עושה
קוד PHP:
 setcookie("blabla","123",time()+60);
$_COOKIE['blabla'] = "123"


אז זה עוד איכשהו בסדר..
אבל אם אני נניח מכניס מערך לעוגיה, לדוגמא:

קוד PHP:
 setcookie("blabla[second]","456",time()+60); 


אני צריך לשנות גם את השורה השניה בהתאם:

קוד PHP:
 $_COOKIE['blabla']['second'] = "456"



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

כי אם נניח אני אנסה לעשות

קוד PHP:
 if(is_array("blabla[second]")) 


כמובן שזה לא חוקי.

וזה נהיה מורכב עוד יותר, כשיש 2,3...(או יותר) דרגות בתוך המערך.

אשמח לקצת עזרה,
כי מה שקורה כרגע הוא, שאני חייב להמתין לרענון של הדף כדי לקבל את המשתנה הגלובאלי התקין.



תודה



-----
עריכה:
-----

ואת אותו הדבר אני מחפש גם למקרה שאני מוחק עוגיה.

קוד PHP:
 unset($_COOKIE['blabla']['second']) 


לא יעבוד, כשלאותה פונקציה [של המחיקה], אני מקבל רק משהו כזה:

קוד PHP:
 blabla['second'


בשביל

קוד PHP:
 setcookie("blabla['second']","deleted",time() - 60); 


(זמן המחיקה הוא סתם לדוגמא...בד"כ אני שם חודש/שנה אחורה).


תודה
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה


נערך לאחרונה ע"י MatiM בתאריך 16-10-2010 בשעה 16:12.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #12  
ישן 16-10-2010, 21:14
  משתמש זכר dorM dorM אינו מחובר  
מנהל
 
חבר מתאריך: 26.07.08
הודעות: 6,473
בתגובה להודעה מספר 7 שנכתבה על ידי MatiM שמתחילה ב "לדעת איזה הודעות להציג למשתמש..."

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

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

אותו הדבר אפשר ליישם בנוגע לאשכולות עם הודעות חדשות וכו'...

השדה last_session_time שקיים בטבלת ה-sessions מקבל את ערכו מהשדה last_session_time שקיים בטבלה המשתמשים.
השדה last_session_time שבטבלת המשתמשים מקבל את ערכו כשמוחקים את רשומת ה-session של משתמש (או ע"י trigger, או ע"י select ואז update ואז delete)

בנוגע לאורחים, הכל בשבילם יהיה חדש כשנוצר להם רשומת session חדשה.

אני חושב שזה עדיף על מה שהציעו, אני חושב שזה חוסך. אבל כמובן שאין דבר טוב יותר מלבדוק אם זה באמת יעיל יותר.

עריכה:
שכחתי, כמובן, שצריך להוריד פורומים\אשכולות שנקראו מהסימון שהם חדשים ...
אפשר ליצור מערך ולשמור את תוכנו בשדה בטבלת ה-sessions בעזרת serialize של פורומים\אשכולות שנקראו. אבל זה פשוט דרך דומה ואחרת לממש את מה שכבר אמרו למעלה

נערך לאחרונה ע"י dorM בתאריך 16-10-2010 בשעה 22:11.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #20  
ישן 16-10-2010, 17:46
  שימיadmin שימי אינו מחובר  
מנהל פורומי "תכנות ובניית אתרים" ו"חומרה ורשתות"
 
חבר מתאריך: 25.10.01
הודעות: 42,775
בתגובה להודעה מספר 19 שנכתבה על ידי MatiM שמתחילה ב "אז איך נלמד מה נכון ומה לא..."

התחלת הלימוד היא בלשאול את השאלה הנכונה.

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

אי אפשר לעבוד עם חצי מידע, וצורת ההצגה עם כל הפרטים היא החשובה ביותר.

לענייננו:

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

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

פתרון יותר הגיוני, עבור שמירת כל ההודעות שנקראו, הוא פשוט לשמור עוד טבלה במסד הנתונים, עם id של המשתמש, id של ההודעה שנקראה, ונניח readtime. ליצור על הטבלה הזו אינדקס משולב על userid,msgid, ואז, כשאתה מוציא את רשימת ההודעות, לעשות JOIN על הטבלה הזו עם msg_tbl.userid = read_tbl.userid AND msg_tbl.msgid = read_tbl.msgid. ואז - כשתחזור השאילתא, או שיהיה לך readtime, או שיהיה לך NULL, ואז בפשטות תדע אם ההודעה נקראה או לא.

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

זו השיטה שלי. מה אתה אומר?

עריכה: בעע, fealls כתב את זה לפני ולא שמתי לב...
_____________________________________
תמונה שהועלתה על ידי גולש באתר ולכן אין אנו יכולים לדעת מה היא מכילה
נמאס לכם לזכור סיסמאות? לחצו כאן!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #30  
ישן 16-10-2010, 18:36
צלמית המשתמש של fealls
  fealls fealls אינו מחובר  
 
חבר מתאריך: 11.03.07
הודעות: 1,668
בתגובה להודעה מספר 29 שנכתבה על ידי hellfrost שמתחילה ב "אתה מבין שאם אתה תעשה ככה,..."

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

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

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:03

הדף נוצר ב 0.09 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר