ساخت سیستم نوتیفیکیشن با php و Ajax

ساخت سیستم نوتیفیکیشن با php و Ajax

تاحالا دقت کردید که چطور سایت های شبکه اجتماعی مثل فیسبوک یا دیسکورد برای هر عملیاتی که اتفاق می افتد یک نوتیفیکیشن (notification) بصورت آنی ارسال می کنند؟

سیستم نوتیفیکیشن real-time هر عملیاتی که شما و دوستان شما در این شبکه های اجتماعی انجام میدید را را دنبال می کند. حتی اگر آنلاین نباشید باز هم میتونید از این نوتیفیکیشن ها دریافت کنید.

در این آموزش php قصد داریم نحوه پیاده سازی و ساخت سیستم نوتیفیکیشن با php و Ajax تحت وب رو برای نمایش Real-time عملیاتی مثل ثبت سفارش، ثبت نام کاربر، درخواست ها و… را پیاده سازی کنیم.

 

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

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

 

ایمپورت جداول دیتابیس

یک دیتابیس بسازید و داخل phpmyadmin این کوئری SQL را اجرا کنید تا جدول comments ایجاد شود

جدول comments چهار ستون ‘comment_id’ ‘comment_subject’ ‘comment_text’ ‘comment_status’ دارد و تمام کامنت های کاربران در این جدول ذخیره و بعد نوتیفیکیشن براش ساخته میشه.

 

ساخت فرم برای نمایش realtime نوتیفیکیشن

من از فرم های بوت استرپ با CDN برای ساخت چنین ظاهر ساده ای استفاده می کنیم

کدها را داخل فایل index.php قرار بدید

 

افزودن سطر جدید در دیتابیس

یک فایل connect.php بسازید و اتصال دیتابیس را برقرار کنید :

بعد از آن یک فایل insert.php می سازیم و به سادگی با کد زیر کامنت جدیدی داخل دیتابیس MySQL قرار میدیم

کدهای این بخش از ساخت سیستم نوتیفیکیشن با php و Ajax بسیار ساده هستند و نیاز به توضیح نیست چرا که فقط مقادیر را از طریق متد POST دریافت و داخل دیتابیس اضافه می کند.

 

خواندن سطر و ارسال آن به دستور AJAX

در این بخش، یک فایل به نام fetch.php می سازیم تا با آن چک کنیم بخش ناوبری با کامنت های جدیدی آپدیت شده یا نه.

اگر ثبت نشده بود، کامنت های یکتا را انتخاب و در بخش ناوبری (navigation یا همان نوار بالا) نمایش میدیم. وقتی کاربر این بخش از نوتیفیکیشن ها را دید مقدار status آن نیز آپدیت می شود. اینجا ما آرایه $data را بصورت ajax برای آپدیت بخش نوتیفیکیشن ارسال می کینم.

کد fetch.php

 

سابمیت فرم و آپدیت HTML با AJAX

بخش جذاب آموزش ساخت سیستم نوتیفیکیشن با php و Ajax اینجاست!

در قدم های قبلی، من داده آرایه را به سمت AJAX ارسال کردم تا نوار بالا در کد HTML با پاسخی که از ایجکس دریافت میشه آپدیت کنیم.

حالا، متد submit را در jQuery ایجاد می کنیم تا مقادیر فرم را اعتبارسنجی و آخرین نوتیفیکیشن را که در فایل insert.php به دیتابیس اضافه کردیم را انتخاب کنیم.

در ادامه با تابع onclick تعداد را در دایره قرمز رنگ نمایش میدیم.

 

کد کامل index.php

همچنین اینجا در خط ۱۶ می تونید با اضافه کردن کد زیر یک آهنگ کوتاه یکی دو ثانیه نوتیفیکیشن پخش کنید تا کار جذاب تر بشه

 

تست سیستم نوتیفیکیشن با php و Ajax

حالا وقت اینه که ساخت سیستم نوتیفیکیشن که با php و Ajax ساختیم را تست کنیم.

آموزش ساخت سیستم نوتیفیکیشن با php و Ajax

کافیه عنوان و متن نظر را در این فرم ارسال کنید و بعد یک نوتیفیکیشن جدید که در تصویر زیر مشخص هست را میتونید ببینید :

آموزش ساخت سیستم نوتیفیکیشن با php و Ajax

جمع بندی آموزش سیستم نوتیفیکیشن با php و Ajax

اعلان ها (notification) نمای سریعی از تمام اقدامات انجام شده در وب سایت ارائه می دهند. شما می توانید به سادگی روی لیست بازشو کلیک کنید و به صورت اختیاری اقدامات بعدی را انجام دهید.

یکی از مزیت های این سیستم UX بهتر و سرعت بالاتر کاربر در استفاده از محیط کاربری است. شاید نکته منفی از لحاظ فنی، سرعت لود mysql در سرور هست که باید با تنظیمات و ابزارهای سرور آن را بهینه کرد.

این آموزش سیستم نوتیفیکیشن با php و Ajax بصورت realtime را می توانید حتی توسعه بدید و در پروژه های بعدی خود استفاده کنید.

 

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

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

هر سوالی داشتید، از قسمت نظرات ارسال کنید. سریعا، پاسخگوی سوالات شما هستیم.

موفق و پیروز باشید.

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

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

  1. پوریا ۲۲ آذر ۱۴۰۱

    سلام
    این آموزش انجام دادم اما پس از اجرای کامل طبق آموزش، در مرورگر هیچ پیامی نمایش داده نمیشود
    آیا نیاز به فعال سازی extenstion خاصی از php می باشد ؟ همینطور روی php 8 هم میشود از آن استفاده کرد؟
    متشکزرم

    پاسخ
    1. حسن شفیعی ۲۲ آذر ۱۴۰۱

      سلام.
      نه نیاز به اسکتنشن خاصی نیست. برای این نوع نوتیف نیاز است که تب مربوطه روی مرورگر بسته نشود.
      تست های من روی نسخه ۷ php هست

      پاسخ
  2. حامد ۲۶ بهمن ۱۴۰۰

    سلام.من یک سوال برام پیش اومده من می‌خوام یه سایت درست کنم که کاربر بتونه با یک فرم لاگین کنه و وارد سایت بشه با استفاده از ایمیل و رمز عبوری که قبلاً در سایت عضو شده ولی می‌خوام یه محدودیتی ایجاد کنم که فقط با همون سیستمی که موقع ثبت نام از اون استفاده کرده بتونه وارد بشه یعنی کاری کنم که نتونه اطلاعاتش و به کس دیگه ای بده که اون بجاش بتونه وارد سایت بشه … شما کدی نداری؟

    پاسخ
    1. حسن شفیعی ۲۷ بهمن ۱۴۰۰

      سلام. آیپی یا کوکی رو باید ذخیره و هنگام لاگین چک کنید کاره دیگه ای نمیشه کرد

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