Forms - Validate E-mail and URL

بعد از اینکه مطمئن شدیم فیلدها خالی نیستند، باید بررسی کنیم که آیا ورودی‌ها فرمت درستی دارند یا خیر.
به‌خصوص برای فیلدهای ایمیل و URL، PHP ابزارهای آماده‌ای برای اعتبارسنجی دارد.

🔹 تابع ()filter_var

در PHP برای بررسی درستی ورودی‌ها از تابع ()filter_var استفاده می‌کنیم:

  • ایمیل معتبر:

filter_var($email, FILTER_VALIDATE_EMAIL)
  • آدرس URL معتبر:

filter_var($url, FILTER_VALIDATE_URL)

🔹 مثال کامل

<!DOCTYPE html> <html> <body> <?php // تعریف متغیرها $email = $url = ""; $emailErr = $urlErr = ""; // بررسی ارسال فرم if ($_SERVER["REQUEST_METHOD"] == "POST") { // ✅ اعتبارسنجی ایمیل if (empty($_POST["email"])) { $emailErr = "Email is required"; } else { $email = htmlspecialchars($_POST["email"]); if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $emailErr = "Invalid email format"; } } // ✅ اعتبارسنجی URL if (empty($_POST["url"])) { $urlErr = "Website URL is required"; } else { $url = htmlspecialchars($_POST["url"]); if (!filter_var($url, FILTER_VALIDATE_URL)) { $urlErr = "Invalid URL format"; } } } ?> <h2>PHP Form - Validate Email and URL</h2> <p><span style="color:red;">* required field</span></p> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>"> Email: <input type="text" name="email" value="<?php echo $email; ?>"> <span style="color:red;">* <?php echo $emailErr; ?></span> <br><br> Website: <input type="text" name="url" value="<?php echo $url; ?>"> <span style="color:red;">* <?php echo $urlErr; ?></span> <br><br> <input type="submit" value="Submit"> </form> </body> </html>

🔹 نمونه خروجی

  1. اگر کاربر ایمیل اشتباه وارد کند:

Invalid email format
  1. اگر URL اشتباه وارد کند:

Invalid URL format
  1. اگر هر دو درست باشند:

(اطلاعات ذخیره یا نمایش داده می‌شوند)

✅ نکات مهم

  • همیشه داده‌ها را با ()htmlspecialchars قبل از نمایش امن کنید.

  • ()filter_var یکی از بهترین ابزارهای PHP برای اعتبارسنجی ورودی‌ها است.

  • می‌توانید برای URL مطمئن شوید که با http:// یا https:// شروع شود.