JavaScript is not enabled!...Please enable javascript in your browser

جافا سكريبت غير ممكن! ... الرجاء تفعيل الجافا سكريبت في متصفحك.

-->
الصفحة الرئيسية

الدرس 6: الجمل الشرطية (Conditional Statements) في PHP

📘 الدرس 6: الجمل الشرطية في PHP بشكل موسع


الجمل الشرطية php

الجمل الشرطية هي عقل البرنامج. هي اللي تقر أي كود يتنفذ وأي كود يتجاهل حسب الشرط. بدون الشروط، موقعك بيكون ثابت وما يقدر يتفاعل مع المستخدم.

💡 قاعدة: أي موقع ديناميكي = شروط + متغيرات + بيانات من المستخدم أو قاعدة البيانات.

🔹 1. جملة if - الشرط الواحد

تتحقق من شرط واحد، لو صحيح ينفذ الكود، لو خطأ يتجاهله ويكمل.

الصيغة: if(الشرط){ الكود }

مثال 1: التحقق من العمر

<?php
$age = 20;
if($age >= 18){
  echo "أنت بالغ ويمكنك الوصول للمحتوى";
}
?>

مثال 2: التحقق من تسجيل الدخول

<?php
$isLoggedIn = true;
if($isLoggedIn){
  echo "مرحباً بك! تم تسجيل دخولك بنجاح";
}
?>

الاستخدام: إظهار محتوى خاص للأعضاء، التحقق من صلاحيات المستخدم، التحقق من صحة البيانات.

🔹 2. جملة if...else - خيارين فقط

لو الشرط صحيح ينفذ كتلة if، لو خطأ ينفذ كتلة else.

الصيغة: if(الشرط){ كود1 }else{ كود2 }

مثال 1: التحقق من العمر

<?php
$age = 15;
if($age >= 18){
  echo "يمكنك الوصول";
}else{
  echo "الدخول ممنوع لمن هم أقل من 18";
}
?>

مثال 2: التحقق من كلمة المرور

<?php
$password = "123456";
if(strlen($password) >= 8){
  echo "كلمة المرور قوية";
}else{
  echo "كلمة المرور ضعيفة، يجب أن تكون 8 أحرف على الأقل";
}
?>

🔹 3. جملة if...elseif...else - عدة خيارات

تفخص عدة شروط بالترتيب، أول شرط يتحقق ينفذ كوده ويوقف الباقي.

الصيغة: if(){}elseif(){}elseif(){}else{}

مثال 1: نظام التقييم

<?php
$score = 85;
if($score >= 90){
  echo "امتياز";
}elseif($score >= 75){
  echo "جيد جداً";
}elseif($score >= 60){
  echo "جيد";
}elseif($score >= 50){
  echo "مقبول";
}else{
  echo "راسب";
}
?>

مثال 2: تحديد حالة الطلب

<?php
$orderStatus = 2;
if($orderStatus == 1){
  echo "قيد المعالجة";
}elseif($orderStatus == 2){
  echo "تم الشحن";
}elseif($orderStatus == 3){
  echo "تم التسليم";
}else{
  echo "ملغي";
}
?>

🔹 4. جملة switch...case...default - للمقارنات المتعددة

أفضل من elseif لما يكون عندك متغير واحد تقارنه مع قيم كثيرة. أنظف وأسرع في القراءة.

الصيغة: switch(المتغير){ case القيمة: الكود break; }

مثال 1: أيام الأسبوع

<?php
$day = "الاثنين";
switch($day){
  case "السبت":
  case "الأحد":
    echo "عطلة نهاية الأسبوع";
    break;
  case "الجمعة":
    echo "يوم الجمعة المبارك";
    break;
  default:
    echo "يوم عمل عادي";
}
?>

مثال 2: قائمة الخيارات

<?php
$action = "edit";
switch($action){
  case "add":
    echo "إضافة مستخدم جديد";
    break;
  case "edit":
    echo "تعديل المستخدم";
    break;
  case "delete":
    echo "حذف المستخدم";
    break;
  default:
    echo "عملية غير معروفة";
}
?>
ملاحظة: لا تنسى break بعد كل case وإلا بيكمل ينفذ الحالات اللي بعدها. هذا يسمى Fallthrough.

🔹 5. العوامل المنطقية والمقارنة

بدون هذي العوامل ما تقدر تبني شرط قوي:

العاملالمعنىمثال
==يساوي بالقيمة5 == "5" // true
===يساوي بالقيمة والنوع5 === "5" // false
!= أو <>لا يساوي5 != 3 // true
> , <أكبر من، أصغر من10 > 5 // true
>= , <=أكبر أو يساوي5 >= 5 // true
&& أو andو$a > 5 && $b < 10
|| أو orأو$a == 1 || $b == 1
!ليس!$isLoggedIn

مثال عملي: شروط مركبة

<?php
$age = 25;
$hasId = true;

if($age >= 18 && $hasId == true){
  echo "مسموح لك بالدخول";
}else{
  echo "ممنوع الدخول";
}

$role = "admin";
if($role == "admin" || $role == "editor"){
  echo "لديك صلاحية التعديل";
}
?>

🔹 6. العامل الثلاثي Ternary Operator

طريقة مختصرة لـ if...else في سطر واحد.

الصيغة: الشرط ? النتيجة_إذا_صحيح : النتيجة_إذا_خطأ

مثال عملي:

<?php
$age = 20;
$message = ($age >= 18) ? "بالغ" : "قاصر";
echo $message; // بالغ

$status = ($userOnline) ? "متصل" : "غير متصل";
echo "<span class='status'>$status</span>";
?>

🔹 7. مثال عملي شامل: نظام صلاحيات المستخدم

<?php
$user = [
  "name" => "حسام",
  "age" => 25,
  "role" => "admin",
  "isActive" => true
];

// التحقق من التفعيل
if($user["isActive"] == false){
  die("الحساب غير مفعل");
}

// التحقق من العمر والصلاحية
if($user["age"] >= 18){
  echo "مرحباً ". $user["name"]. "<br>";
  
  switch($user["role"]){
    case "admin":
      echo "لوحة تحكم المدير الكاملة";
      break;
    case "editor":
      echo "لوحة تحكم المحر";
      break;
    case "user":
      echo "لوحة تحكم المستخدم العادي";
      break;
    default:
      echo "دور غير معروف";
  }
}else{
  echo "عذراً، يجب أن يكون عمرك 18 سنة على الأقل";
}
?>
⚠️ خطأ شائع: استخدام = بدل == أو ===.
$a = 5 يعني أسند 5 للمتغير a
$a == 5 يعني هل a يساوي 5؟
💡 خلاصة الدرس:
1. استخدم if لشرط واحد بسيط
2. استخدم if...elseif...else لعدة شروط متتالية
3. استخدم switch لما تقارن متغير واحد مع قيم كثيرة
4. استخدم === للمقارنة الدقيقة بالقيمة والنوع
5. العامل الثلاثي ? : يخلي الكود أقصر وأنظف

© جميع الحقوق محفوظة - مدونة الحسام | al-hassam.blogspot.com

author-img

حسام الفقيه

تعليقات
ليست هناك تعليقات
إرسال تعليق
    الاسمبريد إلكترونيرسالة