![]() |
עזרה ב-mail.
שלום לכולם.
אני עושה מערכת לניהול לקוחות, כאשר התאריך של השרת שווה לתאריך הסיום של הלקוח אז הוא צובע את כל השורה של הלקוח באדום ושולח תזכורת לאימייל על חידוש. אבל נוצרה לי בעיה הוא שולח את המייל אבל הוא שולח אותו מלא פעמים הוא לא מפסיק לשלוח. האם יש דרך לפתור כזה דבר? PHP קוד:
|
מן הסתם הבעיה בבדיקה \ לולאה, מה קשור הקוד שהבאת כאן?
|
טעות שלי, מצטער על האשכול.
לא מיקמתי את הקוד במקום הנכון. (זה מה שקורה שעובדים כשעייפים:P) |
???
כי הוא שולח כל אותו היום? |
ציטוט:
הנה הקוד: PHP קוד:
|
תקרא את 2 אלה:
http://sqltutorials.blogspot.com/200...-function.html http://www.w3schools.com/Sql/func_datediff.asp ובשביל העבודה עם הזמנים תקרא את זה: http://www.w3schools.com/sql/sql_dates.asp |
למה הWHILE נראה כאילו יש לך תוצאה אחת
שנית כל למה אתה מציג בלי לוודא אם יש לך תוצאה תשתמש ב mysql_num_rows() שלישית למה אתה משתמש באינדקסים במערך בלי מרכאות כלשהם רביעית תאחסן במסד את התאריכים בתור UNIX TIMESTAMP חמישית חשבת על מקרה שבו לא תכנס לפאנל ניהול יום אחת תמים ואז התנאי הזה if (date("d/m/Y") == $row[finish_date]) { לא יתקיים? תשתמש בUNIX TIMESTAMP ואז תבדיל באמצעות גדול/קטן ככה שאם עברת את התאריך תשלח בנוסף תבצע לוג לשליחות אחרת אם תכנס פעמים באותו יום לעמוד הזה ישלחו שתי הודעות וכך הלאה בהצלחה |
אתה צריך להכניס תא בטבלה שיקרא לצורך העניין send_e הוא תמיד False
שאתה שולח אימייל תעשה שהוא יהיה True וככה הוא ישלח עוד פעם. * אל תשכח לעשות שאתה עורך את אותו חשבון התא יחזור להיות False כי אז הוא לא ישלח שוב מייל. |
פשוט מאוד - אתה פשוט צריך קודם כל לבצע בדיקה של "האם כבר שלחתי לו תזכורת". אם לא - לשלוח, אם כן - לא לשלוח שוב. תשתמש במסד נתונים בשביל זה, או במה שבא לך.
|
למה אתה בודק בזמן ההצגה של הדף ולא נניח עם CRONJOB שרץ פעם ביום בשעה קבועה?
|
כל הזמנים הם GMT +2. הזמן כעת הוא 14:55. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ