🛡️ كيفية التحقق من صحة البريد الإلكتروني والروابط في PHP
عندما تقوم ببناء نموذج (Form) في موقعك، يقوم المستخدمون بإدخال بياناتهم. لكن، هل يمكنك أن تثق بأن المستخدم سيكتب البريد الإلكتروني بشكل صحيح؟ أو أنه لن يكتب رابطاً خاطئاً في خانة "الموقع الإلكتروني"؟ 🧐
هنا يأتي دور التحقق من البيانات (Data Validation). في PHP، لدينا أداة سحرية وبسيطة جداً تسمى filter_var تقوم بهذه المهمة بدلاً منا وبدقة عالية.
🔍 ما هي دالة filter_var؟
دالة filter_var هي دالة مدمجة في لغة PHP تُستخدم للتحقق من متغير معين (Variable) بناءً على "فلتر" (Filter) محدد. بدلاً من كتابة شروط معقدة جداً للتأكد من وجود علامة @ أو نقطة . في البريد الإلكتروني، توفر لنا PHP فلاتر جاهزة تقوم بذلك في سطر واحد! ✅
تأخذ الدالة معاملين أساسيين:
- المتغير: القيمة التي نريد فحصها.
- الفلتر: نوع الفحص الذي نريد القيام به.
📧 أولاً: التحقق من البريد الإلكتروني (Email Validation)
للتحقق من أن النص المدخل هو بريد إلكتروني صالح، نستخدم الفلتر المسمى FILTER_VALIDATE_EMAIL.
إذا كان البريد صحيحاً، ستعيد الدالة القيمة نفسها. أما إذا كان خاطئاً، فستعيد القيمة false.
لنلقِ نظرة على هذا المثال البسيط:
<?php
// تعريف متغير يحتوي على بريد إلكتروني
$email = "user@example.com";
// استخدام filter_var للتحقق من صحة البريد
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo "The email address is valid! ✅"; // سيتم تنفيذ هذا السطر إذا كان البريد صحيحاً
} else {
echo "The email address is invalid! ❌"; // سيتم تنفيذ هذا السطر إذا كان البريد خاطئاً
}
?>
ماذا حدث في الكود؟
- وضعنا قيمة في المتغير
$email. - طلبنا من PHP: "يا PHP، افحصي هذا المتغير باستخدام فلتر البريد الإلكتروني
FILTER_VALIDATE_EMAIL". - إذا وجدت PHP أن التنسيق صحيح (يحتوي على @ ونطاق صحيح)، ستدخل في شرط الـ
if.
🌐 ثانياً: التحقق من الروابط (URL Validation)
بنفس الطريقة تماماً، إذا أردنا التأكد من أن المستخدم أدخل رابط موقع إلكتروني (URL) صحيح، نستخدم الفلتر المسمى FILTER_VALIDATE_URL.
إليك مثال عملي وبسيط:
<?php
// تعريف متغير يحتوي على رابط موقع
$url = "https://www.codex-academy.com";
// استخدام filter_var للتحقق من صحة الرابط
if (filter_var($url, FILTER_VALIDATE_URL)) {
echo "The URL is valid! ✅"; // سيتم تنفيذ هذا السطر إذا كان الرابط صحيحاً
} else {
echo "The URL is invalid! ❌"; // سيتم تنفيذ هذا السطر إذا كان الرابط خاطئاً
}
?>
ملاحظة هامة: لكي يعتبر الرابط صحيحاً، يجب أن يبدأ ببروتوكول معروف مثل http:// أو https://. إذا كتبت www.google.com بدون البروتوكول، سيعتبره الفلتر "غير صالح".
🛠️ مثال شامل: تطبيق عملي
لنجمع الآن كل ما تعلمناه في مثال واحد يحاكي عملية تسجيل بسيطة:
<?php
// بيانات افتراضية قادمة من نموذج إدخال
$user_email = "student@codex.com";
$user_website = "https://codex-academy.com";
// 1. التحقق من البريد الإلكتروني
if (filter_var($user_email, FILTER_VALIDATE_EMAIL)) {
echo "Email: Correct! <br>";
} else {
echo "Email: Incorrect! <br>";
}
// 2. التحقق من الرابط
if (filter_var($user_website, FILTER_VALIDATE_URL)) {
echo "Website: Correct! <br>";
} else {
echo "Website: Incorrect! <br>";
}
?>
💡 ملخص سريع
| المهمة | الفلتر المستخدم | النتيجة في حال النجاح |
|---|---|---|
| فحص البريد الإلكتروني | FILTER_VALIDATE_EMAIL |
يعيد قيمة البريد |
| فحص الرابط (URL) | FILTER_VALIDATE_URL |
يعيد قيمة الرابط |
بهذه الطريقة البسيطة، يمكنك حماية موقعك من البيانات الخاطئة والتأكد من أن المستخدمين يدخلون معلوماتهم بشكل سليم. 🌟
🎓 اختبر معلوماتك
التعليقات
شاركنا رأيك أو أسئلتك حول هذا المقال