أسئلتك تراكمت في موضوع واحد وصار صعبا التركيز فيها معلش ..
التحقق من الايميل والتليفون
كود PHP:
function emailsa7($email)
{
$email = trim( $email );
if(!empty($email)){
if(preg_match('/^[a-z0-9\\_\\.]+@[a-z0-9\\-]+\\.[a-z]+\\.?[a-z]{2,4}$/i', $email, $match)) return strtolower($match[0]);
else return false;
}
else return false;
}
function phonesa77($phone)
{
$phone = trim($phone);
if(!empty($phone)){
if(preg_match('/^[0-9]{7,12}$/i', $phone, $match) ) return $match[0];
else return false;
}
else return false;
}
// الاستخدام
$email = emailsa77($_POST['email'] );
if(!$email) echo "الإيميل مش صح";
else echo "الإيميل تمام";
$email = phonesa77($_POST['phone']);
if(!$phone) echo "التليفون غلط";
else echo "التليفون تمام";
أما عن شرح الطريقة فهي ليست سهلة .. وأتمنى لو فيه شرح لها لأنها مليئة بالرموز أساسا .. لكن كفكرة موجزة:
الدالة تفحص النص أو المحتوى عموما بطريقة مميزة جدا حيث يمكنك تحديد كل شيء فيها بدءا من عدد الأحرف ونوعها هل أحرف أم أرقام أم كلاهما وما هي الرموز المسموح بها وغير المسموح بها وما عدد مرات البحث في النص وكم عدد تكرار نص معين وهل تقارن حالة الأحرف أيضا أم لا .. الخ ..
المستخدم هنا:
[] اللذان يعنيان بلوك معين أو مكان معين في النص ..
/ الذي يحدد بداية التعبير الذي مطلوب البحث عنه في النص .. ويمكن وضع أكثر من رمز منه ..
؟ التي تعني احتمال وجود البلوك التالي أو عدمه ..
{} التي تعني حدود العدد المسموح للحروف (مثلا في التأكد من التليفون وضعتها من 7 إلى 12) ..
/i التي تعني ان المقارنة تكون بحالة الأحرف .. ولهذا
كذا-كذا التي تعني مثلا الحروف من a إلى z أو الأرقام من 0 إلى 9 .. أي كل الحروف والأرقام مسموحة ..
أما return في كودك فهي ترجع قيمة من اثنتين: true أو false .. لتخبرك إن كان المطلوب عمله تم أم لا .. أو صحيح أم خطأ ..
إذا كنت تقصد UNSIGNED فهذا يجعل الخانة لا تأخذ أرقاما سالبة ..
لا .. أنت تستخدم طريقة عرض صفحات مختلفة بطريقة خاطئة .. لأنك إذا وضعت كل الاحتمالات في ملف واحد كما تفعل هنا فيجب أن يتضمن العنوان المتغيرين اللذين على أساسهما تتحدد القيمة لكل من جملتي switch .. يعني المفروض ترسل التالي:
كود:
index.php?op=New&_w=New
في هذه الحالة ستنفذ الأشياء الموجودة في الجملتين والخاصتين بالمتغيرين ..
طبعا فيه طريقة ثانية لكن انا لا احب استخدام if كثيرا لأنها ثقيلة نسبيا على السيرفر ..
كود PHP:
<?php
if(isset($_GET['op'])){
switch($_GET['op'])
{
case'':
do...
break;
default:
do...
break;
}
}
if(isset($_GET['_w'])){
switch($_GET['_w']
{
case'':
do...
break;
default:
do...
break;
}
}
?>