![]() |
שאלה ב-PHP
אני רוצה לטעון לרשימה רק "אימיילים מאושרים"
כלומר - אני מריץ פונקציה שמאמתת כתובות אימייל קוד:
function is_email($email) קוד:
$myselect=mysql_query("SELECT `email`,`username`,`id` FROM `new_users` ORDER BY `id` DESC"); |
כלומר למסד אתה מכניס את כל הכתובות ללא קשר אם הם מאושרות או לא?
אתה עושה במסד עוד רשומה של authorized: 1 = מאושר, 0 = לא מאושר, 2 = בהמתנה (או משהו בסגנון) ועושה WHERE בSELECT... לפי הצורך. |
כרגע קיימות במסד 200 אלף כתובות אימייל,
המטרה שלי היא להציג את כל האימיילים שמאומתים. יש דרך לעשות את זה ללא שדה נוסף אלא עם הנתונים הקיימים והרצת פונקציה שבעצם תבדוק את האימות? |
אממ בגרסה הכי עדכנית של MYSQL או לפחות מגרסה 5 יש אפשרות להשתמש בפונקציה regexp לשליפת תוצאות שמתאימות לתבנית ביטוי רגולרי (:
תגגל קצת עשיתי את זה הרבה זה חמדמד ביותר |
תודה, אבל יש מישהו שיכול להיות יותר ספציפי? אני דיי גרוע בביטויים רגולריים...
|
אממ אם אפשר תציג כאן את המבנה של הטבלה שלך (את השאילתה שאיתה כתבת אותה)
כשיהיה לי זמן אני אכתוב לך שאילתה לשליפת כל המיילים התקינים |
קודם כל תודה,
דבר שני, נתתי למעלה את השאילתה... המבנה של הטבלה הוא בסיסי - ID, USERNAME, PASSWORD, EMAIL ועוד כמה... |
האם אתה רוצה להציג את כל הכתובות המורשות, או לבדוק אם כתובת ספציפית?
דבר נוסף, האם יש שדה מסויים שמכיל ערך מסויים לגבי כתובת שאומתה? למשל: PHP קוד:
|
ציטוט:
אני לא ממש בקיא בESCAPING של MYSQL בנוגע לאופרטור REGEXP אבל זה אמור לעבוד (לפחות בתאוריה D:) |
ציטוט:
רק שיניתי את הקטע הרגולרי שנתת לי ל- ^[a-z0-9._-]+@+[a-z0-9._-]+.+[a-z]{2,3}$ כי הוא פשוט נותן לי תוצאות רלוונטיות יותר, שהשני מפספס. |
כל הזמנים הם GMT +2. הזמן כעת הוא 03:07. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ