آموزش ساختن فرم تماس با ما

daskhatmin فواد طهماسبی
36,053 بازدید
آموزش ساختن فرم تماس با ما

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

تو این آموزش به دو فایل زیر نیاز داریم :

1. contact.php

2. send_contact.php

مرحله اول :

فایل contact.php رو باز کنید و کدهای زیر رو بنویسید :

<html>
    <body>
        <form action="send_contact.php" method="post">
            subject: <input type="text" name="subject"><br>
            message:  <textarea name="message" cols="50" rows="4" id="detail"></textarea><br>
            name:    <input type="text" name="name"><br>
            email:   <input type="text" name="email"><br>
            <input type="submit" value="Submit" name="submit">
        </form>
    </body>
</html>

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

مرحله دوم :

کدهای زیر رو هم داخل send_contact.php وارد کنید :

<?php

if (isset($_POST['submit'])) {
    $to = "your_email@example.com";
    $from = "your_email@your_domain.com";

    $subject = $_POST['subject'];
    $message = $_POST['message'];
    $name = $_POST['name'];
    $email = $_POST['email'];

    $body = "Name: $name\r\n E-Mail: $email\r\n Message:\r\n $message";


    $headers = 'From: ' . $from . "\r\n" .
        'Reply-To: ' . $email . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

    if (@mail($to, $subject, $body, $headers)) { 
        $message = "Email Sent Successfully!";
    } else {
        $message = "Error: Sending email failed.";
    }
}
?>

 

 

email-php
Download “فرم تماس با ما”
نسخه 1.0.0 7 بار دانلود شده است 1 KB

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

این دسخط هم میتونه آموزش کمکی خوبی باشه: آموزش ساخت فرم تماس با ما و ارسال به ایمیل با PHP و Ajax

daskhatmin

فواد طهماسبی

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

50 دیدگاه برای “آموزش ساختن فرم تماس با ما”

  1. پریسا گفت:

    سلام
    برای فرم تماس حتما باید در دیتا بیس جدول بسازیم؟؟

    1. سلام،
      خیر، این فرم تماس به صورت ایمیل ارسال میشه و نیازی به دیتابیس نداره.

  2. پرویز گفت:

    سلام ، بله شما درست می فرمایید شاید به سرور ارسال نکند اما این اطلاعات دریافتی از سوی کاربر در پایگاه داده دخیره شده و سپس به مدیر سایت برای مشاهده اطلاعات ورودی ارسال خواهد شد شاید بگویید بدون پایگاه داده هم می توان هر پروژه وب را برنامه نویسی کرد اما همان گونه HTML بدون CSS هیچ است ، همان گونه هم PHP بدون پایگاه داده،برای ذخیره سازی اطلاعات هیچ است. شاید خنده دار باشد این مثل مرد بی زن می ماند و واقعا هم همین طور است. با تشکر

  3. پرویز گفت:

    سلام , کاملا متوجه شدم یعنی این دستور اطلاعات دریافت شده از کاربر را به صورت پیام تبدیل خواهد کرد و با کاراکتر n\ یک سطر جدید ایجاد می نماید یعنی ابتدا نام کاربر سپس ایمیل او و از آخر پیام دریافتی از سوی کاربر و تمام اینها توسط n\ در یک سطر جدید چاپ و سپس به سرور ارسال می شود می توان گفت : کار n\ همانند کلید Enter در نرم افزار یا ویراشگر قدرتمند Word است حتما می دانید ملاک تشخیص پاراگراف در Word کلید Enter صفحه کلید می باشد. آیا من درست متوجه شدم . باشکر

    1. فؤاد طهماسبی گفت:

      بله، درسته.
      فقط اینکه به سرور نمیفرسته به کاربر ایمیل میکنه. و کلید اینتر همه جا بسته به سیستم عامل همان n\ یا r\ یا r\n\ است.

  4. پرویز گفت:

    سلام خدمت شما ببخشید دستور $body = “From: $name\n E-Mail: $email\n Message:\n $message”; دقیقا چه کاری یا کارهایی انجام می دهد؟ با تشکر

    1. فؤاد طهماسبی گفت:

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

  5. میلاد گفت:

    با سلام ببخشید این کد لوکال که نمیشه تستش کرد باید توی سرور امتحان کرد. wamp server

  6. Farbod Shams گفت:

    با سلام و تشکر فراوان برای این مطلب،
    سوالی که برام پیش اومده اینه که اگر بخوام به جای استفاده از دستور submit به عنوان دکمه ارسال کننده از دستور Image استفاده کنم،

    چه دستوری باید به کد PHP یا HTML اضافه بشه که این فرایند درست کار کنه، من بدون این که چیزی اضافه کنم امتحان کردم و نتیجه مطلوبی نگرفتم (هیچ اتفاقی نمیفته!!!) خواهش می کنم راهنماییم کنید.

    مرسی

  7. مهدی گفت:

    سلام مهندس

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

    با تشکر

  8. پرویز گفت:

    سلام من تمام موارد را متوجه شدم اما دستور $body = “From: $name\n E-Mail: $email\n Message:\n $message”; را متوجه نشدم لطفا آن را به من توضیح دهید.

    1. فؤاد طهماسبی گفت:

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

  9. سیمین گفت:

    با عرض سلام.
    من یک فرم نظرات درست کردم ، مشابه با فرم کانتکت شما، با این تفاوت که من نمیخوام نظرات به ایمیل فرستاده بشه. میخوام که نظرات با تایید ادمین در سایت گذاشته بشه . لطفا راهنمایی کنید. ممنون می شم !

  10. سپهر گفت:

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

    Warning: mail(): Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:\wamp\www\mail\contactform.php on line 9

  11. علی گفت:

    ضمنا توی سی پنل تنظیم خاصی وجود داره ؟ ادامه سوال قبل

  12. علی گفت:

    سلام استاد
    این فایلهارو ساخت و اجرا کردم اما توی صفحه تماس وب سایت وقتی ارسال میکنم روی please waite قفل میشه و حتی ایمیلی دریافت نمیکنم ضمنا ادرس جی میلم رو بعنوان گیرنده دادم برنامه لطفا راهنمایی کنید -با تشکر

    1. فؤاد طهماسبی گفت:

      سلام،
      لطفا دوباره مطلب رو بررسی کنید، این مطلب اصلا please wait نداره!!

  13. داریوش گفت:

    سلام و عرض ادب و تشکر بابت سایت خوبتون
    من الان این فرم رو توی یه هاست رایگان گذاشتم و ایمیل ارسال کردم ارسال هم شد ایمیل منتها در صفحه ایمیل،تایتل یه اسم عجیب غریب داره حالا راهی هست که درست بشه یا نه؟

  14. رضا گفت:

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

    ممنون

    1. رضا گفت:

      آقا این چه وضعشه ؟!
      آخه چرا شما اینقد خوبید؟ هاااااا ؟

      مرسی :دیییییییی

      1. فؤاد طهماسبی گفت:

        🙂 لطف دارید شما.

  15. رضا گفت:

    کردم،
    اما نفرستاد

  16. رضا گفت:

    سلام،
    رو لوکال هاست کار میکنه؟
    چون من تست کردم نشد !

    1. فؤاد طهماسبی گفت:

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

  17. عبا گفت:

    سلام
    کد بالا برای وردپرس همراه جواب می ده

    1. فؤاد طهماسبی گفت:

      سلام، متوجه منظورتون نشدم!!

  18. armin گفت:

    اگه میشه خودتون یه فیلد توی html اضاف کنید
    تویphpهم کدشو اضاف کنید… ممنون میشم..

  19. armin گفت:

    خیلی کشش داده این

    فقط میخوام یه action واسه این فیلده به کده اضاف بشه
    فایل ضمیمه :

  20. armin گفت:

    سلام
    میخوام این کده یه فایل ضمیمه هم همراه این مشخصات بفرسته…
    دستور اونم میشه بنویسید اضافش کننم؟؟

    1. فؤاد طهماسبی گفت:

      سلام، کدهای لینک زیر رو مطالعه فرمایید:
      http://www.w3schools.com/php/php_file_upload.asp

دیدگاه‌های بیشتر

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


کد HTMLCSSJavaScriptPHP