آموزش ساخت سیستم لایک با php و ajax

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

آموزش ساخت سیستم لایک با php و ajax

ساخت سیستم لایک با php و ajax شدیدا آسان , جذاب و کاربرپسند می باشد .در بسیاری از سایت ها بخصوص در قسمت نظرات , محصولات و حتی مطالب آموزشی , حتما دیدید که هر مطلب دارای دکمه های می پسندم و نمی پسندم  یا همان like و dislike  است که در نت پارادیس تمام مطالب یک دکمه لایک قلب مانند دارد !.

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

در آموزش ساخت سیستم لایک با php قصد داریم قابلیت like را با php و mysql با تکنیک ajax پیاده سازی کنیم .

ساخت جداول دیتابیس :

۲ جدول برای ذخیره تعداد لایک و دیس لایک های کاربران مربوط به یک محصول می سازیم . جدول likes دارای ستون هایی برای ذخیره id محصول و تعداد like ها و dislike ها است . جدول products نیز برای ذخیره محصولات ما اعم از اسم , قیمت , عکس و وضعیت محصول است .

کد sql برای ساخت جدول و قرار دادن چندین مقدار پیش فرض به صورت زیر است :

فایل اتصال به دیتابیس – db.php

فایل index.php

این فایل شامل کدهایی برای بروزرسانی مقادیر جدول و نمایش تعداد لایک ها و dislike ها است . در اینجا از کوکی ها برای صرف نظر کردن از مقادیر نامعتبر like و dislike ها استفاده کردیم .

فایل اصلی برای نمایش لیست محصولات و دکمه های لایک :

برای انجام عملیات لایک با php از کدهای زیر استفاده کردیم.

همانطور که دیدید پیاده سازی سیستم لایک با php و ajax بسیار بسیار ساده است و می توانید این مثال را در هرجایی از پروژه هاتون که نیاز بود استفاده کنید .

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

برای دانلود سورس کد ساخت سیستم لایک با php و ajax از باکس دانلود استفاده کنید

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

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

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

  1. محمود رنجبر ۲۸ آذر ۱۳۹۹

    سلام مهندس شفیعی وقت بخیر میشه خط ۶ فایل index رو یه توضیحی بدید لطفا این سشن آیدی چه مقداری داره هنوز که سشنی ست نشده که مقدار آیدی داشته باشه با تشکر از سایت خوبتون

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

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

      پاسخ
      1. محمود رنجبر ۲۹ آذر ۱۳۹۹

        سلام حسن جان من منظورم اینه مگه session_id مقدار id سشن جاری رو بر نمیگردونه ؟ وقتی کاربر اول بار فایل رو فراخونی میکنه این سشن جاری اسمش چیه کجا ست شده با تشکر

        پاسخ
      2. محمود رنجبر ۲۹ آذر ۱۳۹۹

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

        پاسخ
      3. حسن شفیعی ۲۹ آذر ۱۳۹۹

        داخل مرورگر کاربر در بخش کوکی ها ذخیره میشه. f12 بزنید و بخش Storage

        پاسخ
  2. amin danayy ۲۶ مرداد ۱۳۹۹

    سلام ببخشید این فایل باکس مشکل داره من وقتی میخوام تستش کنم این ارور رو به من میده
    Warning: mysqli_connect(): (HY000/1049): Unknown database ‘codexworld’ in C:\xampp\htdocs\tutorial.php on line 13

    Warning: mysqli_query() expects parameter 1 to be mysqli, bool given in C:\xampp\htdocs\tutorial.php on line 24

    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\xampp\htdocs\tutorial.php on line 25

    Notice: Undefined variable: data in C:\xampp\htdocs\\tutorial.php on line 29

    Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\index.php on line 68

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

      سلام. اطلاعات دیتابیس را داخل فایل tutorial.php تغییر بدید.

      پاسخ
      1. amin danayy ۲۶ مرداد ۱۳۹۹

        میشه بهم یاد بدید چون یاد ندارم

        پاسخ
  3. رسول ۱۵ خرداد ۱۳۹۹

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

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

      سلام. خوشحالیم که مفید واقع شده.
      نیاز به آموزش خاصی نیست. فقط کافیه در صفحه ای که اطلاعات پست مثل متن یا تصویر رو میخوانید همانجا از همان سطر پست در دیتابیس مقدار ستون مثلا view رو بخوانید و نمایش بدید.
      https://netparadis.com/php-pdo-crud
      البته باید قبل از آن در جدول پست های بلاگ ستون view رو بصورت integer تعریف کرده و در هربار لود شدن همان صفحه پست ها یک عدد به مقدار قبلی در دیتابیس اضافه کرده باشید.

      پاسخ
  4. Ms M ۱۶ اردیبهشت ۱۳۹۹

    در خط ۱۹ و ۲۲ و ۳۳ فایل index.php (کد های سایت) مقادیر خالی اند و از این جهت ارور گرفته می شود
    برای این مقادیر چکار باید کنیم؟

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

      از این توابع برای کنترل ورودی استفاده کنید
      https://netparadis.com/empty-isset-is_null-php

      پاسخ
  5. Msm ۱۶ اردیبهشت ۱۳۹۹

    سلام
    من فایل پروژه رو نیاز داشتم ولی باکس دانلود خالیه
    چیکار باید کنم؟

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

      سلام. در سایت ثبت نام کنید و بعد به این صفحه بازگردید و بعد میتونید فایل ها را به راحتی دانلود کنید

      پاسخ
      1. Ms M ۱۶ اردیبهشت ۱۳۹۹

        خیلی ممنون
        ولی فایل مشکل داره
        با توجه به اینکه تابع mysql منسوخ شده کل کد کارایی نداره
        امکانش هست کد های فایل رو تغییر بدید و تابع mysqli رو قرار بدید؟

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

        خواهش می کنم.
        با این آموزش به راحتی میتونید تغییرات رو لحاظ کنید :
        استفاده از MySQLi به جای MySQL در PHP
        به هرحال تغییرات لحاظ شد و مجدد از باکس دانلود دریافت و جایگزین کنید
        همچنین اگر توجه کنید در آپدیتی که انجام شده بود در کدهای آموزش میتونید ببینید که از mysqli استفاده شده و فقط در پروژه از mysql بهره بردیم که این مورد در پروژه به mysqli بروز شد

        پاسخ
      3. Ms M ۱۶ اردیبهشت ۱۳۹۹

        خیلی ممنون مشکل حل شد
        فقط شرمنده یه سوال دیگه هم داشتم:
        برای اینکه محدودیت زمانی برای لایک کردن (مثلا هر یک ساعت یکبار) قرار بدهیم باید کدام قسمت کد را ویرایش کنیم؟

        پاسخ
      4. حسن شفیعی ۱۶ اردیبهشت ۱۳۹۹

        باید rating رو تغییر بدید و از کوکی استفاده کنید
        https://netparadis.com/cookies-in-php

        پاسخ
      5. Ms M ۱۶ اردیبهشت ۱۳۹۹

        میشه بیشتر راهنمایی کنید و بفرمایید دقیقا برای کدام قسمت rating باید کوکی رو قرار بدم؟

        پاسخ
      6. حسن شفیعی ۱۷ اردیبهشت ۱۳۹۹

        در هنگام ثبت اطلاعات در دیتابیس باید ابتدا برسی کنید که کاربر یک کوکی به به نام مثلا like دارد یا خیر اگر داشته باشد که همانجا یک پیام به سمت ajax برگشت میدید و ادامه برنامه رو exit می کنید و اگر وجود نداشت یک کوکی براش ثبت و بعد اطلاعات را داخل دیتابیس قرار میدید

        پاسخ
      7. Ms M ۲۲ اردیبهشت ۱۳۹۹

        خیلی ممنونم ازتون 🙏

        پاسخ
      8. حسن شفیعی ۲۲ اردیبهشت ۱۳۹۹

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

        پاسخ
  6. حسین پور ۱۵ اردیبهشت ۱۳۹۹

    سلام میشود این اموزش رو برای وردپرس هم پیاده کرد؟

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

      سلام. بله ولی باید با ساختار وردپرس آشنایی نسبی داشته باشید تا بتونید کوئری ها رو اجرا کنید

      پاسخ
  7. رویا ایرانیان ۹ فروردین ۱۳۹۹

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

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

    سپاس از شما و سایت خوبتون

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

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

      پاسخ
  8. nima ۲۲ شهریور ۱۳۹۸

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

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

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

      پاسخ
  9. محمد معین ۵ مرداد ۱۳۹۸

    من تو هاست واقعی امتحان کردم کار نکرد

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

      سلام
      باید دقیقتر بفرمایید که چطور کار نکرد خطا چی بود و این موارد. اگر آشنایی نسبی با php نداشته باشید نمی تونید خطایابی یا به درستی اجرا کنید.
      موفق باشید

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

        تشکر

        پاسخ
  10. حمیدرضا ۹ دی ۱۳۹۷

    سلام ببخشید اون قسمت کد اخر که گذاشتید باید توی کدام قسمت و کجای کد بزارم؟

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

      سلام. درخواست ajax را باید به این فایلی (مثلا rating.php) که این کدها رو قرار دادید ارسال کنید تا لایک یا دیس لایک ثبت بشه.

      موفق باشید.

      پاسخ
  11. samim dashty ۲۳ شهریور ۱۳۹۷

    تشکر همیشه خوشبخت باشید

    پاسخ
  12. samim dashty ۲۳ شهریور ۱۳۹۷

    مثلا چی جوری نفهمیدم

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

      اگر در یک هاست واقعی تست می کنید که گزینه های این مورد وجود داره و اگر از طریق لوکال اجرا می کنید xampp یا نرم افزار مربوطه به نسخه php را دانلود و نصب کنید. همچنین نحوه تغییر نسخه php را بنابر نوع محیط و نرم افزار خود جستجو کنید.
      موفق باشید.

      پاسخ
  13. samim dashty ۲۳ شهریور ۱۳۹۷

    سلام من این کد را اجرا کردم این خطا را میدهد
    Fatal error: Uncaught Error: Call to undefined function mysql_connect() in C:\xampp\htdocs\like\tutorial.php:12 Stack trace: #0 C:\xampp\htdocs\like\index.php(3): Tutorial->__construct() #1 {main} thrown in C:\xampp\htdocs\like\tutorial.php on line 12

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

      سلام . برای اجرای توابع mysql_ نیاز است که از php نسخه ۵٫۶ به پایین یا ۵٫۵ و غیره استفاده کنید.
      موفق باشید.

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