ساخت فرم تماس با ما در PHP به همراه فیلدهای سفارشی

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

ساخت فرم تماس با ما در PHP به همراه فیلدهای سفارشی

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

فرم تماس با ما در یک اپلیکیشن (وب/موبایل) یک بخش مهم برای کاربران به منظور ارتباط با شما است.فرم های تماس با ما (contact) معمولا دارای فیلدهایی مثل عنوان, پیام و بعضی مواقع نام و ایمیل است.

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

در آموزش های قبلی نحوه ساخت فرم تماس با ما در php و همچنین فرم تماس با ما اسلایدی را دیدیم.

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

 

فیلدهای سفارشی بصورت جفت نام-مقدار هستند. در شروع یک مجموعه از جفت نام – مقدار از فیلدهای ورودی به همراه گزینه “افزودن بیشتر” وجود دارد.

با کلیک روی گزینه “افزودن بیشتر” فیلدهای سفارشی بصورت داینامیک به فرم تماس با ما اضافه می شود.

کد HTML فرم تماس با ما

در این بخش از ساخت فرم تماس با ما, کد HTML برای نمایش فرم تماس با ما به همراه فیلدهای سفارشی را می بینید.

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

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

دکمه “افزودن بیشتر” توسط تابع addMore() و رویداد کلیک کنترل می شود. این تابع بصورت داینامیک فیلد را در تگ دربرگیرنده فرم اضافه می کند.

اسکریپت jQuery افزودن بیشتر

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

در این اسکریپت, فایل input.php لود می شود. این فایل شامل سورس HTML فیلدهای سفارشی است. نام و مقدار فیلد ها بصورت داینامیک توسط تابع جی کویری لود می شود.

اینجا ما از متد append جی کویری برای قرار دادن محتوای فیلدها استفاده می کنیم.

تابع validateContactForm() نیز تمام فیلدهای فرم بجز فیلدهای سفارشی را اعتبارسنجی می کنید. همینکه مقدار true را برگشت داد, اطلاعات فرم به همراه داده های فیلد سفارشی به سمت php ارسال می شود.

سورس HTML فیلدهای سفارشی

کد زیر محتوای فایل input.php را نشان می دهد. این کد شامل فیلدهای ورودی برای جفت نام-مقدار فیلدهای سفارشی است.

این فیلدها مقادیر را بصورت آرایه ای از کاربر ذخیره می کنند.

کد PHP ارسال ایمیل فرم تماس با ما

بعد از ارسال موفقیت آمیز داده ها به فایل PHP , این مقادیر دریافت و داخل متغیرها ذخیره می شوند.

در کد زیر نحوه دریافت آرایه custom_name و custom_value را می بینید.

اینجا ما از تابع mail() در PHP برای ارسال ایمیل استفاده کردیم.

اگر قصد ارسال ایمیل با SMTP سرور Gmail را دارید می توانید کتابخانه PHPMailer را به پروژه خود اضافه و استفاده کنید.

خروجی – ساخت فرم تماس با ما در PHP به همراه فیلدهای سفارشی

اسکرین شات زیر به شما خروجی ساخت فرم تماس با ما در PHP به همراه فیلدهای سفارشی و گزینه “افزودن بیشتر” را نشان می دهد.

ساخت فرم تماس با ما در PHP به همراه فیلدهای سفارشی

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

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

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

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

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

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

  1. Abol ۱۹ خرداد ۱۴۰۰

    واقعا عالی

    پاسخ
  2. حسین صالحی ۱۰ تیر ۱۳۹۸

    باسلام خدمت شما. در کد مربوط چه طور میتوان از زبان فارسی استفاده کرد . من تمام تنظیمات در سرور دیتابیس رو فارسی کردم ولی اطلاعات ارسالی از فرم به دیتابیس فارسی ذخیره نمیشود.

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

      سلام. در اینجا ما از دیتابیس استفاده نکردیم.
      اگر مشکل ذخیره سازی فارسی رو دارید باید جدول و ستون ها اون روی utf8_persian بزارید و کانکشن دیتابیس خودتون رو نیز utf8 قرار بدید که برای هر دو pdo و mysqli دستورات ست کردن utf8 متفاوت است
      برای mysqli :
      mysqli_query($conn,"SET CHARACTER SET 'utf8'");
      یا mysqli_set_charset($conn,"utf8");

      برای PDO :
      استرینگ کانکشن : "mysql:host=$host;dbname=$db;charset=utf8"

      یا
      $db = new PDO("mysql:host=localhost;dbname=$dbname",$username,$password,
      array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

      موفق باشید.

      پاسخ
      1. حسین صالحی ۱۰ تیر ۱۳۹۸

        ازتون خیلی ممنونم با کد بالا مشکلم حل شد . سپاس گذارم مرسی

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

        خواهش می کنم. موفق باشید.

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