ساخت فرم تماس با ما در php

ساخت فرم تماس با ما در php

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

 

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

 

در این مقاله آموزشی قصد داریم به شما نحوه ساخت یک فرم تماس با ما در php  را آموزش بدیم . با اسکریپتphp  فرم تماس  ما میتوانید به راحتی یک فرم تماس با ما را به سایتتان اضافه کنید.این اسکریپت علاوه بر نمایش و ذخیره اطلاعات کاربران ، یک ایمیل هم ارسال می کند.

 

برای درک بهتر ، اسکریپت php  فرم تماس با ما را به در دو بخش html و php  تقسیم کردیم . میتوانید هر دو  در یک فایل برای نماش قرار بدید.

 

فرم HTML

کد های html زیر بک فرم تماس با ما به همراه فیلد های معمول (اسم ، ایمیل ، موضوع  و پیام شما) و یک دکمه ارسال است . برای نمایش فرم همه کد های زیر را در پروژه خود اضافه کنید

 

کد های PHP

در کد php  زیر همه ی داده های ارسالی به این صفحه را از طریق متغیر سراسری $_POST را اعتبار سنجی میکنیم . برای اعتبار سنجی ایمیل از تابع FILTER_VALIDATE_EMAIL و برای ارسال ایمیل به یک آدرس خاص از تابع mail() استفاده می کنیم.

مقدار متغیر $toEmail را به ایمیل خود تغییر بدید. کد زیر را در صفحه ای که کد html بالا را وارد کردید قبل آن اضافه کنید

 

کد های CSS

برای زیبایی بیشتر فرم تماس با ما چندین استایل تعریف کردیم

 

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

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

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

  1. کاربر ۲۶ اسفند ۱۴۰۳

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

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

      سلام. باید شرط بزارید بالای صفحه تماس با ما که اگر سشن مدیر isset شده بود نمایش نده یا ریدارکت کنه به صفحه اصلی

      پاسخ
  2. mohammad ۲۷ مهر ۱۴۰۱

    با عرض سلام و وقت بخیر من کد تماس با ما خیلی ساده نوشتم به صورت username و email و message
    inclue “message.php”
    con = new mysqli($server,$username,$password,$db)
    email = $_POST[“email”]
    message = $_POST[“message”]
    $username = $_POST[“username”]
    از دستور result = con
    -> query(“INSERT INSERT INTO ‘MESSAGE’ VALUE ‘$username’ , ‘$email’,’$message'”)
    من مجبوریماین طور بنویسم این طور نمایش میده
    if(result)
    {
    echo “پیام شما با موفقیت ثبت شد”
    پیام در پایگاه داده میاد
    }
    بعد چطوری پیام در پروفایل ادمین نمایش داده بشه

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

      سلام. ممنون
      در بروفایل هم کافیه یه دستور sql برای select * from message بزنید و هرچی بیام هست رو بخونید و داخل صفحه echo کنید

      پاسخ
      1. محمد ۲۸ مهر ۱۴۰۱

        مرسی باتشکر

        پاسخ
  3. شراره ۴ خرداد ۱۴۰۰

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

    پاسخ
    1. حسن شفیعی ۵ خرداد ۱۴۰۰

      سلام. ممنون.
      بعد از رفرش پیام موفق/ناموفق بودن عملیات باید نمایش داده بشه و این صحیحه

      پاسخ
      1. شراره ۵ خرداد ۱۴۰۰

        پیغام رو نمایش نمی ده این یک
        بعد نمیشه صفحه نره سمت سرور ؟

        پاسخ
      2. حسن شفیعی ۵ خرداد ۱۴۰۰

        کدهای html فرم و کدهای php همزمان باید در یک صفحه .php باشند.

        پاسخ
      3. شراره ۵ خرداد ۱۴۰۰

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

        پاسخ
  4. پدرام ۵ مهر ۱۳۹۹

    باید توی اینا چه مقادیری بنویسیم؟
    $statusMsg = ”;
    $msgClass = ”;

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

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

      پاسخ
  5. پدرام ۵ مهر ۱۳۹۹

    میشه بگید چجوره به صورت خودکار برای کاربر ایمیل بفرستیم

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

      سلام. میتونید از auto respond داخل خود پنل هاست استفاده کنید.
      یا از کرون جاب استفاده کنید و تعریف کنید در زمان یا بازه های خاص چه ایمیلی برای چه کسانی ارسال بشه مثلا ایمیل یادآوری اتمام اشتراک یا یادآوری تمدید فاکتور و غیر
      https://netparadis.com/managing-cron-jobs-with-php
      یا اینکه از سیستم های ایمیل مارکتینگ مثل mailerlite.com بهره ببرید.

      پاسخ
  6. علیرضا ۲۵ فروردین ۱۳۹۹

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

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

      سلام. باید php متوسط بلد باشید تا بتونید اینکار رو انجام بدید. در این کدی که ارایه شده در خط ۱۲ میتونید حالت اجبار رو بردارید :
      if(!empty($email) && !empty($name) && !empty($subject) && !empty($message)){
      و اگر این عبارت رو حذف کنید : !empty($email) && وارد کردن ایمیل اختیاری میشه ولی مطمینا اسکریپت کار نمیکنه چون این اطلاعات جایی ذخیره نمیشه و به ایمیل ارسال میشه.

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

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

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

      سلام. تابع mail رو با insert داخل آموزش pdo جایگزین می کنید
      https://netparadis.com/php-pdo-crud

      پاسخ
  8. آرین شیروانی ۱۱ فروردین ۱۳۹۹

    باسلام
    ببخشید این نوع فرم در دیتا بیس پیامش میره یا ایمیل یا …؟

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

      سلام. بله با ایمیل ارسال میشه

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