ساخت سیستم ارسال پیام خصوصی در PHP

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

ساخت سیستم ارسال پیام خصوصی در PHP

در این مقاله آموزش PHP قصد داریم به شما نحوه ساخت یک سیستم ارسال پیام خصوصی در PHP را نشان بدیم.

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

در این مقاله آموزشی قصد داریم یک سیستم Private Message ایجاد کنیم که در ابتدا قابلیت ثبت نام و لاگین کاربران را دارد.

کاربران با داشتن نام کاربری (Username) فرد موجود در سیستم شما امکان چت کردن و ارسال و دریافت پیام را بصورت خصوصی خواهد داشت.

همچنین تمام پیام ها بصورت تفکیک شده به عنوان خوانده شده/نشده (Unread) در دسترس خواهد بود.

کاربران می توانند لیست کلیه کاربران را ببینند و با کلیک روی آن پروفایل آنها را مشاهده و برای آنها پیام خصوصی (PM) ارسال کنند

کل این سیستم ارسال پیام خصوصی در PHP را می توانید شخصی سازی کنید و مطابق سلیقه و نیاز کاربران کاملا تغییر بدید, قابلیت های جدیدی اضافه کنید و یا حتی قالب و ظاهر اسکریپت تحت وب را تغییر بدید.

این اسکریپت را میتوانید به عنوان یک قابلیت به پروژه های خود اضافه و استفاده کنید تا یک بخش پیام خصوصی را در سایت خود قرار بدید که کاربران با داشتن یوزرنیم کاربر مورد نظر امکان ارسال و دریافت پیام خصوصی را داشته باشند.

ساخت سیستم ارسال پیام خصوصی در PHP

سیستم ارسال پیام شخصی ما دارای ۳ صفحه اصلی زیر است.

  • لیست تمام پیام ها
  • خواندن یک پیام
  • ارسال یک پیام

 

ساخت سیستم ارسال پیام خصوصی در PHP

ساخت دیتابیس

در ابتدا نیاز است یک دیتابیس با دو جدول users و pm بسازیم. این دو جدول تمام اطلاعات کاربران و پیام های ردوبدل شده را ذخیره می کند.

فایل sql خروجی هر دوی این جداول به همراه پروژه کامل از بخش باکس دانلود قابل دریافت است.

 

سیستم ارسال پیام خصوصی در PHP با استفاده از mysqli به دیتابیس متصل و عملیات مربوط به پایگاه داده را انجام می دهد. (آموزش اتصال به دیتابیس با mysqli)

لیست تمام پیام ها

در این صفحه, لیست تمام پیام های کاربر نمایش داده می شود. پیام های کاربر در دو لیست خوانده شده / خوانده نشده دسته بندی شده است.

List_pm.php

خواندن یک پیام

این صفحه به کاربر اجازه خواندن یک پیام را می دهد. همچنین کاربر می تواند با کلیک روی دکمه reply به آن پیام پاسخی ارسال کند

Read_pm.php

ارسال یک پیام

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

New_pm.php

تنظیمات اصلی اسکریپت

در این فایل نیاز است که اطلاعات ورود به دیتابیس را در خط ۱۲ تغییر بدید تا به پایگاه داده شما متصل شود. همچنین نیاز است که آدرس روت این اسکریپت روی سرور یا لوکال را به همراه ایمیل تغییر بدید

همچنین می توانید آدرس پیش فرض HOME سایت را تغییر بدید.

در نهایت نیز می توانید یک تم با استایل اختصاصی برای این اسکریپت طراحی و نام فولدر آن را اینجا قرار بدید.

نکته امنیتی

دقت کنید که در موارد مورد نیاز یک سری اعتبارسنجی ها انجام شده است . اگر قصد استفاده در پروژه واقعی را دارید برای امنیت بیشتر لطفا ورودی و خروجی های کاربر را با دقت اعتبارسنجی و escape کنید که با استفاده از توابع filter_Var و htmlspecialchars به راحتی می توانید اینکار را انجام بدید. (اعتبارسنجی فرم ها در phpآموزش htmlspecialchars)

 

امیدوارم از آموزش ساخت سیستم ارسال پیام خصوصی در PHP نهایت استفاده را برده باشید.

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

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

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

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

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

  1. soheila ۲۹ تیر ۱۴۰۰

    سلام من وقتی دکمه سند رو میزنم پیام ارسال نمیشه مشکل از کجاس؟میشه لطفا کمک کنید؟

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

      سلام. چه خطایی دارید؟ آیا داخل دیتابیس میبینید چیزی ثبت شده؟

      پاسخ
  2. حسین ۱ بهمن ۱۳۹۹

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

    پاسخ
    1. حسن شفیعی ۱ بهمن ۱۳۹۹

      سلام ممنون. بنده اطلاع ندارم

      پاسخ
      1. حسین ۱ بهمن ۱۳۹۹

        متشکرم

        پاسخ
  3. حسین ۱۷ دی ۱۳۹۹

    سلام لطفا به پیام قبلیم جواب بدین .منتظرتونم

    پاسخ
  4. حسین ۱۷ دی ۱۳۹۹

    با سلام خسته نباشید خدمت استاد گرامی
    یه سوال داشتم . وقتی فرستنده پیام بخواد پیام ارسال شدشو حذف کنه . پیام دریافتی گیرنده هم حذف میشه !!! چون فقط یک ردیف پیام داخل دیتابیس موجوده ؟ به نظرتون راحلی هست که وقتی فرستنده پیام ارسالیشو حذف کرد . گیرنده پیامو دریافت کنه و هروقت بخواد خودش دریافتی هاشو حذف کنه ممنون میشم راهنمایی کنید

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

      سلام ممنون.
      یا باید ساختار دیتابیس رو تغییر بدید یعنی یک جدول دیگه برای جواب ها بسازید و جداگانه ذخیره کنید یا اینکه سطر مثل فلگ removed به جدول فعلی اضافه کنید تا این مورد رفع بشه

      پاسخ
  5. ابولفضل ۵ دی ۱۳۹۹

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

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

      سلام. بله

      پاسخ
  6. majid ۳ بهمن ۱۳۹۸

    نحوه تشخیص دیده شدن و نشدن پیام ها رو لطفا توضیح بده
    ممنون

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

      سلام.
      هر سطر از پیام ها در دیتابیس یک فلگ دارند که بعد اینکه کاربر روی دکمه خواندن پیام کلیک می کند یک آدرس url بصورت .php?id=1 باز می شود که آیدی پیام را دریافت می کنیم و در دیتابیس فلگ را به خوانده شده تغییر می دهیم.
      موفق باشید.

      پاسخ
      1. majid ۵ بهمن ۱۳۹۸

        عالی بود واقعا
        مختصر و مفید توضیح دادی
        ممنون

        پاسخ
      2. حسن شفیعی ۸ بهمن ۱۳۹۸

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

        پاسخ
  7. majid ۲ بهمن ۱۳۹۸

    خووب بود افرین

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

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

      پاسخ
  8. حمید شهابی ۳۱ شهریور ۱۳۹۸

    فوق العاده جالب و عالی – مرسی بابت توضیحات کاملتون

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

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

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