تایید ثبت نام با ایمیل در php

  • آپدیت شده در تاریخ

تایید ثبت نام با ایمیل

سلام . در این آموزش یاد میگیریم چگونه یک سیستم تایید ثبت نام با ایمیل را در پروژه هایمان ایجاد کنیم .اینجا ما با استفاده از نام کاربری که در فیلد وارد شده ,  یک کد (verification code) ایجاد میکنیم چونکه نام کاربری طبق آموزش های قبلی ما یکتا می باشد

در قدم بعدی ما کد تاییدیه را از طریق ایمیل به صورت یک لینک ارسال می کنیم . درصورتی که کاربر بر روی لینک کلیک کرد , ثبت نام کاربر تایید میشود در اینجا من از کتابخانه PHPMailer استفاده میکنم .

خب اول ما کد تاییدیه را با استفاده از md5 می سازیم (این کد را بعد از متغیر نام کاربری قرار میدیم)

 

بعد با یک کویری اطلاعات را داخل دیتابیس ذخیره میکنیم . قبل از این شما حتما باید یک تیبل یا اگر از قبل دارید یک coulmn از نوع varchar  ایجاد کنید

 

بعد از اجرای موفقیت آمیز دستور insert  نوبت به ارسال ایمیل می رسد . برای دانلود PHPMailer به این لینک مراجعه کنید و بعد از دانلود در فولدر مربوط به پروژه خود قرار بدید.

 

ارسال ایمیل با php از طریق SMTP

فایل PHPMailerAutoload.php را داخل فایل register.php خودمان اینکلود میکنیم

 

یک فایل به اسم config.php  برای ذخیره کردن اطلاعات smtp server  ایجاد میکنیم

دوباره فایل config.php را در register.php  اینکلود میکنیم

 

در صروت ثبت موفقیت آمیز دیتا داخل دیتابیس ,  با استفاده از کتابخانه PHPMailer  یک ایمیل ارسال میکنیم

 

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

در فایل verify  اول به دیتابیس کانکت میشیم و مقدار متغییر ارسالی از url  را دریافت میکنیم

 

بعد با دستور SELECT  چک میکنیم اگر کد فعال سازی در دیتابیس وجود داشت مقدار رکورد ستون active  را به ۱ تغییر بده .

 

و حالا با دستور UPDATE  مقدار ستون active  را به ۱ تغییر میدهیم و پیغام فعال سازی را در صفحه چاپ میکنیم .

 

 

امیدوارم از این آموزش هم لذت برده باشد و در پروژه هایی که می نویسید از تایید ثبت نام با ایمیل استفاده کنید و توسعش بدید

 

حسن شفیعی توسعه دهنده وب و موبایل مدیر سایت علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم. اگر نیاز به برنامه نویس برای انجام پروژه و نوشتن اسکریپت های سمت وب, اپلیکیشن های اندروید و ios, پیدا کردن راه حل توسعه و غیره داشتید حتما از طریق تماس با ما/ واتساپ/ تلگرام بهم پیام بدید. برایتهیه هاست مطمین و پرسرعت کلیک کنید
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۱۶)

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

  1. amir ۱۳ تیر ۱۳۹۹

    سلام . ببخشد میشه آکوزش دریافت ایمیل با php رو هم بزارید

    پاسخ
    1. حسن شفیعی ۱۴ تیر ۱۳۹۹

      سلام. این آموزش را ببینید :
      https://netparadis.com/gmail-email-inbox-php-imap

      پاسخ
  2. support ۲۱ شهریور ۱۳۹۸

    سلام.
    آقای شفیعی من از آموزش های شما خیلی لذت میبرم.جون واقعا خیلی ساده هستند.
    ببخشید من قبلا شخصی رو میشناختم به اسم حسن شفیعی
    وبسایتی داشت فکرکنم اقای برنامه نویس بود (اسم سایت یادم نمیاد ) ولی آموزش بوت استرپ رو یادم میاد تدریس کرده بود.
    اون شخص شما نیستید؟

    پاسخ
    1. حسن شفیعی ۲۱ شهریور ۱۳۹۸

      سلام. خوشحالیم که مفید واقع شده.
      نه احتمالا فرد دیگری هستند و تدریسی در این مورد نداشتم.

      پاسخ
  3. امیر نجفی انامقی ۹ مرداد ۱۳۹۸

    سلام در این روش ارسال از جی میل باید استفاده بشه اما در صورتی که بخواهیم از mailer خود سایت استفاده کنیم چکار باید کرد؟ ممنونم از راهنماییهای خوبتون

    پاسخ
    1. حسن شفیعی ۹ مرداد ۱۳۹۸

      سلام. از تابع mail در php استفاده کنید که در آموزش زیر توضیح داده شده
      https://netparadis.com/send-html-email-php
      موفق باشید.

      پاسخ
  4. مجتبی ۳۰ مرداد ۱۳۹۷

    سلام . احتمال وجورد vertificate key تکراری در جدول چند در چند هست ؟

    بنظرم باید اونجا که میبینه کلید در جدول وجود داره علاوه بر کلید باید چک کنه که اگر ایمیل یا نام کاربری هم همون بود .
    بخاطر امنیت میگم .سپاسگزار بخاط آموزشهاتون

    پاسخ
    1. حسن شفیعی ۳۰ مرداد ۱۳۹۷

      سلام . احتمالش صفر است چرا که ما یوزنیم را اینکد و به عنوان کلید استفاده می کنیم. یوزنیم کاربر هم یک مقدار یکتا در سایت است برای همین مشکلی پیش نمیاد.
      بله میتونید شرط های دیگه ای مثل بررسی ایمیل و یا حتی تاریخ انقضا را برای امنیت بیشتر اضافه کنید.

      خوشحالم که مفید واقع شده. موفق باشید

      پاسخ
  5. راضیه♥ ۱۴ مرداد ۱۳۹۷

    سلام وقت بخیر.میشه سورسش رو واسم ایمیل کنین؟؟؟با sql و فرم و… میدونم توقع بیجایه چون واقعا بهش نیاز دارم.

    پاسخ
    1. حسن شفیعی ۱۴ مرداد ۱۳۹۷

      سلام . ممنون . سورس این پست رو نداریم . به صورت جداگانه این پست کاربردی نداره و باید با داشتن صفحه لاگین و دانش php این کدهارو بنابر ساختار پروژه خودتون اضافه کنید.
      اگر صفحه لاگین را ندارید می تونید با این اموزش ترکیب و استفاده کنید
      https://netparadis.com/registration-and-login-system-php/

      موفق باشید

      پاسخ
  6. عرفان زیده سرایی ۶ تیر ۱۳۹۷

    دوست عزیز میشه سورسش رو هم بزاری؟ عمراه با اسکریپت دیتابیس. تشکر.

    پاسخ
    1. حسن شفیعی ۶ تیر ۱۳۹۷

      سلام . اسکریپت رو به تنهایی نمیتونید استفاده کنید بلکه باید از قبل یک سیستم ثبت نام و ورود رو داشته باشید تا بتونید این قابلیت رو دستی بهش اضافه کنید. برای ساخت سیستم لاگین و ثبت نام از ساخت صفحه لاگین و ثبت نام با php کلیک کنید.

      موفق باشید.

      پاسخ
      1. عرفان زیده سرایی ۶ تیر ۱۳۹۷

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

        پاسخ
      2. حسن شفیعی ۶ تیر ۱۳۹۷

        خواهش می کنم . خوشحالم که مورد رضایت شما دوست عزیز قرار میگیره.
        مرسی همچنین موفق باشید.

        پاسخ
  7. حامد ۱۶ دی ۱۳۹۶

    با سلام و احترام

    میخواستم بدونم میشه یه کاریش کرد تا هر کاربر جهت مشاهده یک صفحه از سایت که جهت عضویت است ابتدا ایمیل خودشو تایید کنه و بعد به صفحه عضویت منتقل بشه ؟

    ممنون

    پاسخ
    1. حسن شفیعی ۱۶ دی ۱۳۹۶

      سلام .
      بله با الگو گرفتن از کد های بالا می توانید موردی که میخواهید رو دقیقا پیاده سازی کنید به اینصورت در بالا کد های آن صفحه یک شرط قرار بدید و بعد از کاربر درخواست ایمیل کنید و بعد از ذخیره ایمیل در دیتابیس یک کد رندوم ایجاد و آن را ذخیره کنید . بعد ذخیره یک url برگشتی و فرم ایمیل میسازید و آن را به ایمیل ثبت شده ارسال میکند و سپس یک پیام نمایش میدهید و در صورت کلیک کاربر بر روی لینک ارسالی که تایید میکند صاحب همان ایمیل است مقدار مثلا disabaled را در سطر مربوط به این کاربر به ۰ تغییر می دهید و کاربر تایید شده شناخته می شود (در هنگام تایید هم میتوانید یک سیشن تعریف کنید و یا مستقیما به صفحه دلخواه ریدایرکت کنید) . برای ثبت نام مرحله ای که اول ایمیل از کاربر گرفته بشه و بعد تایید دیگر فیلدها نمایش داده شود می توانید از ثبت نام مرحله ای نیز استفاده کنید (ثبت نام مرحله ای در php)

      ریدایرکت با php
      لاگین با رمز یکبار مصرف (OTP Authentication) در php

      موفق باشید

      پاسخ
دوره های آموزشی