PDA

View Full Version : جلوگیری از وارد کردن آدرس ایمیل



goldcom
جمعه 26 آذر 1389, 02:22 صبح
یلام
من یک فرم ثبت نام دارم
میخوام طرف آی دی یاهو رو بزنه ، بدون @
یعنی کلا میخوام جلوی وارد شدن @ رو تو دیتابیس بگیرم

و اینکه یک کد امنیتی میخوام برای سایتم بذارم

محتاج به راهنمایی شما هستم:قلب:

narsic
جمعه 26 آذر 1389, 10:04 صبح
با سلام
اگه فقط میخواین @ نباشه میتونید از دستور str_replace استفاده کنید و @ را با کاراکتر خالی یا هر چیزه دیگه جایگزین کنید .
موفق باشید

goldcom
شنبه 27 آذر 1389, 00:24 صبح
میشه نمونه کاملش رو نشونم بدین؟
من تازه کارم

maysam.m
شنبه 27 آذر 1389, 14:31 عصر
با سلام
اگه فقط میخواین @ نباشه میتونید از دستور str_replace استفاده کنید و @ را با کاراکتر خالی یا هر چیزه دیگه جایگزین کنید .
موفق باشید

این روش مناسبی نمیتواند باشد چرا که ممکن است کاربر ایمیل خود را وارد کند و با حذف @ اطلاعات غلط وارد دیتابیس شود:
مثلا کاربر ایمیل خود را بدین صورت وارد کند:
testid@yahoo.com
و با حذف @ بدین صورت وارد دیتابیس میشود:
testidyahoo.com

بهتر است که اطلاعات را چک کنید و اگر @ در فیلد بود به کاربر اطلاع دهید که آی دی خود را وارد کند بدون @yahoo.com
البته این ساده ترین راه است و میتوان الگوهای بهتری طراحی کرد.

parselearn
شنبه 27 آذر 1389, 17:37 عصر
با تابع strpos ميتونيد ببينيد كاربر @ را وارد كرده يا نه
كه اگر وادر كرده بود بايد پيام خطا بديد

UnnamE
شنبه 27 آذر 1389, 18:13 عصر
اي بابا
موضوع رو پيچ ندين
با توابع preg_macth, preg_replace, ميتوني همه اين كارها رو انجام بدي
در موردشون سايت رسمي php جستجو كن!

binyaft
شنبه 27 آذر 1389, 19:01 عصر
با تابع strpos ميتونيد ببينيد كاربر @ را وارد كرده يا نه
كه اگر وادر كرده بود بايد پيام خطا بديد


اي بابا
موضوع رو پيچ ندين
با توابع preg_macth, preg_replace, ميتوني همه اين كارها رو انجام بدي
در موردشون سايت رسمي php جستجو كن!

به نظر بنده حقیر ، برای یک چنین کاری استفاده از regex جالب نیست ( چون توابع پر سرعت تری وجود داره ) ، مثلا strpos ای که دوستمون اشاره کردند!

UnnamE
شنبه 27 آذر 1389, 23:34 عصر
منم موافق اين آقاي بنده حقير هستم:لبخند:
من كلي گفتم چون اكثر كارهاي VALIDATE رو اولين چيز به ذهنم ميرسه همين regex هست!