CONTACT FORM IN PHP
در دنیای وب، فرمهای تماس با ما یکی از ابزارهای اساسی هستند که به کاربران این امکان را میدهند تا با وبسایتها ارتباط برقرار کنند. این فرمها میتوانند برای دریافت نظرات، پیشنهادات و حتی سوالات کاربران استفاده شوند. در اینجا به بررسی نحوه ایجاد یک فرم تماس با ما با استفاده از PHP میپردازیم.
اجزای فرم تماس
یک فرم تماس معمولاً شامل فیلدهای زیر است:
- نام: برای شناسایی فرستنده.
- ایمیل: برای پاسخ دادن به کاربر.
- موضوع: برای مشخص کردن موضوع پیام.
- پیام: محتوای اصلی پیام که کاربر میخواهد ارسال کند.
کد HTML فرم
برای ساخت فرم، ابتدا به کد HTML نیاز داریم:
```html
<form action="process.php" method="post">
<label for="name">نام:</label>
<input type="text" id="name" name="name" required>
<label for="email">ایمیل:</label>
<input type="email" id="email" name="email" required>
<label for="subject">موضوع:</label>
<input type="text" id="subject" name="subject">
<label for="message">پیام:</label>
<textarea id="message" name="message" required></textarea>
<input type="submit" value="ارسال">
</form>
```
پردازش اطلاعات با PHP
پس از ارسال فرم، نیاز داریم که اطلاعات را پردازش کنیم. این کار را میتوانیم در فایل `process.php` انجام دهیم:
```php
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = htmlspecialchars($_POST['name']);
$email = htmlspecialchars($_POST['email']);
$subject = htmlspecialchars($_POST['subject']);
$message = htmlspecialchars($_POST['message']);
// ارسال ایمیل
$to = "your-email@example.com";
$headers = "From: $email" . "\r\n" .
"Reply-To: $email";
$body = "نام: $name\nموضوع: $subject\nپیام:\n$message";
if (mail($to, $subject, $body, $headers)) {
echo "پیام شما با موفقیت ارسال شد.";
} else {
echo "خطا در ارسال پیام.";
}
}
?>
```
نکات امنیتی
- Validation: حتماً ورودیها را اعتبارسنجی کنید.
- Sanitization: از توابعی مانند `htmlspecialchars()` برای جلوگیری از XSS استفاده کنید.
- CAPTCHA: برای جلوگیری از اسپم، میتوانید از CAPTCHA استفاده کنید.
نتیجهگیری
فرم تماس با ما در PHP ابزاری ضروری برای ارتباط با کاربران است. با استفاده از نکات بالا، میتوانید فرمهای کارآمد و امنی بسازید که نیازهای کاربران را برآورده کند. از این طریق، ارتباطات بهتری با کاربران خود برقرار کنید.