راکت
حل شده

ثبت ایمیل یا پیامک در یک فیلد و ارسال تاییدیه

5 پاسخ

سلام دوستان آیا امکانش هست که در موقع ثبت نام یک فیلد اینپوت باشه که کاربر ایمیل یا شماره تلفن خودش رو وارد کرد این داده آنالیز بشه که اگر ایمیل بود در جدول یوزر در قسمت ایمیل ثبت بشه و اگر شماره تلفن بود در قسمت شماره تلفن و نکته مهم تر ارسال تاییدیه هست که اگر ایمیل بود تاییدیه برای ایمیل ارسال و اگر شماره موبایل بود تاییدیه براش پیامک بشه ممنون میشم راهنماییم کنید.

ثبت پرسش جدید

پاسخ‌ها

5
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

بهترین پاسخ

با Validator میتونی چک کنی داده ها email هست یا نه

$email = Validator::make($request->all(), [
    'identity' => 'required|email|exists:users,email|min:5|max:100',
]);

$phone = Validator::make($request->all(), [
    'identity' => 'required|regex:@\+\d{1,3}\s{1}\d{3,4}\s{1}\d{6,8}@|exists:users,phone|min:5|max:100',
]);

if ($email->passes(
{
    //
}
elseif ($phone->passes(
{
    // 
}
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

حالا خودت این Validator رو درست کن من از نت برات گیر اوردم

کارهای دیگه مثه regex کردن داده میتونی چک کنی کاربر شماره داده یا ایمیل

sinaa
sinaa
@sinaa.hajebi

@juza66 ممنونم عالی بود

شاید پاسخ شما همین‌جا باشد

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

خواهش میکنم موفق باشی 🙏🌹

sinaa
sinaa
@sinaa.hajebi

ببخشید من به شمکل خوردم بازم @juza66

if ($email->passes()) {
            $user = new user();
            $user->name = $request->input('name');
            $user->username = $request->input('username');
            $user->password = bcrypt($request->input('password'));
            $user->AccessLevel = 'normalUser';
            $user->status = 0;
            $user->email = $request->input('identity');

این رو اجرا میکنم با این ارور مواجه میشه

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'identity' in 'where clause' (SQL: select count(*) as aggregate from users where identity = emi@gmail.com)

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام