הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 05-03-13, 19:51   # 1
AlonElk
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: May 2011
הודעות: 709

AlonElk לא מחובר  

בדיקת תקינות מייל

ניסתי להשתמש בפונק' הזאת:
קוד:
	function email($email)
								{
								  if(strpos($email, '@') === false) return false;
								  $host = explode("@",$email); $mxarr = array();
								  $regexp = '/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+@([-0-9A-Z]+\.)+([0-9A-Z]){2,4}$/i';
								  if (!preg_match($regexp, $email)) return false;
								  if (function_exists('getmxrr') && !getmxrr($host[1],$mxarr)) return false;
								  return true;
								}
אבל משום מה לא הצלחתי להבין איך אני משתמש בה לצרכים שלי (זה קולט בPOST את המייל מהמתמש, עובר בפונק' ואם המייל תקין מחזיר תשובה X, אם לא תקין מחזיר תשובה Y)

Last edited by AlonElk; 05-03-13 at 20:07..
  Reply With Quote
ישן 05-03-13, 20:13   # 2
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

2 אפשריות לרשותך

filter_var - פונקצייה מובנת בPHP שעוזרת לאמת מחרוזות מסויימות.
regex - אתה בטח יודע מה זה.

filter_var:
קוד:
if( !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) )
{
	echo "אימייל שגוי";
}
או בregex: (קוד שרשמתי עכשיו, אני לא בדקתי)
קוד:
if( !preg_match("/^[a-zA-Z0-9-_]{3,50}@[a-zA-Z0-9_-\.]+\.[a-zA-Z]{2,5}$/", $_POST['email']) )
{
	echo "אימייל שגוי";
}
  Reply With Quote
ישן 05-03-13, 20:22   # 3
AlonElk
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: May 2011
הודעות: 709

AlonElk לא מחובר  

תודה
  Reply With Quote
ישן 05-03-13, 20:40   # 4
אדיר
עסק רשום [?]
 
מיני פרופיל
תאריך הצטרפות: Mar 2008
מיקום: אשקלון
הודעות: 1,714

אדיר לא מחובר  

בהמשך לתגובה של חיים:

filter_var קיימת ב php מגרסא 5.2 ומעלה.
אם יש לך - מצויין, אין שום בעיה.
אם אין לך - תנזוף בחברת האחסון לשדרג וקרא שוב את הסעיף הקודם .

Last edited by אדיר; 05-03-13 at 21:14..
  Reply With Quote
ישן 08-03-13, 11:00   # 5
Rebuilt
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2013
הודעות: 54

Rebuilt לא מחובר  

בחיים אל תשתמש בREGEX כדי לבדוק תקינות מייל, מתי שאפשר לחסוך בזה שימוש - חוסכים.
חוץ מזה שהREGEX שהרוב כותבים (אם אפשר לקרוא לזה "הרוב" ולא כולם) לא מכיל את כל הדברים שמעידים על תקינות מייל כמו בfilter_var.
תשתמש בfilter_var. וכמו שאדיר אמר... אם אין לך אפשרות, תפנה אל האחסון שיטפלו בזה, זה ממש בושה אחסון שלא מריץ php5.2+...

---
דרך אגב, הפונקציה שנתת לא בודקת אם המייל עצמו תקין, אלה אם הדומיין המשוייך תקין.
זאת אומרת, גם מייל כזה יעבור:
asasas321212121121cvxv@gmail.com
על אף שהוא לא באמת קיים.

לעומת מייל פשוט שכזה שלא יכול לעבור כי אין דומיין בשם gmailxxxx3.co.il
user@gmailxxxx3.co.il

Last edited by Rebuilt; 08-03-13 at 11:02..
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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