The $_GET superglobal is a PHP associative array that
collects data sent via the URL's query string. When you see a URL like
page.php?name=John&age=25, the values after the ? are
accessible through $_GET.المتغير العام $_GET هو مصفوفة ترابطية في PHP تجمع
البيانات المرسلة عبر سلسلة الاستعلام في الرابط. عندما ترى رابط مثل
page.php?name=John&age=25، القيم بعد علامة ? يمكن الوصول إليها
عبر $_GET.
🔑 Key Characteristics🔑 الخصائص
الرئيسية
Visibility: All data appears in the URL bar and
browser history. Never use for passwords or sensitive information!الرؤية: جميع البيانات تظهر في شريط العنوان وسجل
المتصفح. لا تستخدمها أبداً لكلمات المرور أو المعلومات الحساسة!
Size Limit: URLs are limited to approximately
2,048 characters (varies by browser).حد الحجم: الروابط محدودة بحوالي 2,048 حرف (يختلف
حسب المتصفح).
Bookmarkable: Pages with GET data can be
bookmarked and shared easily.قابلة للحفظ: الصفحات التي تحتوي على بيانات GET
يمكن حفظها في المفضلة ومشاركتها بسهولة.
Cacheable: GET requests can be cached by
browsers, making them faster for repeated access.قابلة للتخزين المؤقت: طلبات GET يمكن تخزينها
مؤقتاً بواسطة المتصفحات، مما يجعلها أسرع للوصول المتكرر.
✅ When to Use $_GET✅ متى تستخدم
$_GET
Search queries (e.g.,
search.php?q=php+tutorial)استعلامات البحث
(مثل search.php?q=php+tutorial)
Filtering and sorting dataتصفية
وترتيب البيانات
Page navigation (e.g., page.php?page=2)التنقل بين الصفحات (مثل page.php?page=2)
Sharing specific content via URLمشاركة محتوى معين عبر الرابط
⚠️ Security Warning⚠️ تحذير أمني
Always sanitize GET data using htmlspecialchars() or
filter_input() to prevent XSS attacks. Never trust user input
directly!دائماً نظّف بيانات GET باستخدام htmlspecialchars() أو
filter_input() لمنع هجمات XSS. لا تثق أبداً بمدخلات المستخدم مباشرة!
$_POST Method
📚 What is $_POST?📚 ما هو $_POST؟
The $_POST superglobal is used to collect form data sent
with the HTTP POST method. Unlike GET, POST data is transmitted in the HTTP request
body, making it invisible in the URL.المتغير العام $_POST يستخدم لجمع بيانات النموذج المرسلة
بطريقة POST. على عكس GET، بيانات POST تُنقل في جسم طلب HTTP، مما يجعلها غير مرئية في
الرابط.
🔑 Key Characteristics🔑 الخصائص
الرئيسية
Security: Data is not displayed in URL or browser
history - ideal for passwords and sensitive info.الأمان: البيانات لا تظهر في الرابط أو سجل المتصفح
- مثالية لكلمات المرور والمعلومات الحساسة.
No Size Limit: Can send large amounts of data
including files.لا حدود للحجم: يمكن إرسال كميات كبيرة من البيانات
بما في ذلك الملفات.
Not Bookmarkable: Cannot save the form submission
as a bookmark.غير قابلة للحفظ: لا يمكن حفظ نتيجة النموذج في
المفضلة.
Not Cached: POST requests are never cached by
browsers.لا يتم تخزينها: طلبات POST لا تُخزّن مؤقتاً
بواسطة المتصفحات.
✅ When to Use $_POST✅ متى تستخدم
$_POST
Login forms and authenticationنماذج
تسجيل الدخول والمصادقة
Contact forms and feedbackنماذج
الاتصال والتعليقات
File uploadsرفع الملفات
Any form with sensitive or large dataأي نموذج يحتوي على بيانات حساسة أو كبيرة
💡 Best Practice💡 أفضل الممارسات
Always check if the form was submitted using
$_SERVER["REQUEST_METHOD"] == "POST" before processing POST data. Use
password_hash() and password_verify() for passwords!دائماً تحقق إذا تم إرسال النموذج باستخدام
$_SERVER["REQUEST_METHOD"] == "POST" قبل معالجة بيانات POST. استخدم
password_hash() و password_verify() لكلمات المرور!
Arithmetic Operatorsالمعاملات الحسابية
📚 Introduction📚 مقدمة
Arithmetic operators in PHP perform mathematical operations on numeric
values. They work with integers and floating-point numbers.المعاملات الحسابية في PHP تجري عمليات رياضية على القيم الرقمية. تعمل
مع الأعداد الصحيحة والأعداد العشرية.
🔢 All Operators🔢 جميع المعاملات
Operatorالمعامل
Nameالاسم
Exampleمثال
Resultالنتيجة
+
Additionالجمع
$x + $y
10 + 5 = 15
-
Subtractionالطرح
$x - $y
10 - 5 = 5
*
Multiplicationالضرب
$x * $y
10 * 5 = 50
/
Divisionالقسمة
$x / $y
10 / 5 = 2
%
Modulusباقي القسمة
$x % $y
10 % 3 = 1
**
Exponentiationالأس
$x ** $y
2 ** 3 = 8
Comparison Operatorsمعاملات المقارنة
📚 Introduction📚 مقدمة
Comparison operators compare two values and return a boolean
(true or false). They are essential for making decisions in
your code.معاملات المقارنة تقارن بين قيمتين وترجع قيمة منطقية (true
أو false). هي أساسية لاتخاذ القرارات في الكود.
⚖️ All Operators⚖️ جميع المعاملات
Operatorالمعامل
Nameالاسم
Exampleمثال
==
Equalيساوي
$x == $y
===
Identicalمتطابق
$x === $y
!=
Not Equalلا يساوي
$x != $y
>
Greater Thanأكبر من
$x > $y
<
Less Thanأصغر من
$x < $y
>=
Greater or Equalأكبر أو
يساوي
$x >= $y
<=
Less or Equalأصغر أو
يساوي
$x <= $y
💡 Important: == vs ===💡 مهم: الفرق بين == و ===
== compares values only, while === compares
both value AND type. Always use === when you need strict comparison!== تقارن القيم فقط، بينما === تقارن القيمة
والنوع معاً. دائماً استخدم === عندما تحتاج مقارنة صارمة!
If...Else Statementsجمل If...Else
الشرطية
📚 What are Conditional Statements?📚 ما
هي الجمل الشرطية؟
Conditional statements allow your program to make decisions and
execute different code blocks based on whether a condition is true or false. They are
the foundation of logic in programming.الجمل الشرطية تسمح لبرنامجك باتخاذ قرارات وتنفيذ كود مختلف بناءً على
ما إذا كان الشرط صحيحاً أو خاطئاً. هي أساس المنطق في البرمجة.
🔀 Types of If Statements🔀 أنواع جمل
If
if: Executes code only if the condition is
TRUE.if: تنفذ الكود فقط إذا كان الشرط صحيحاً.
else: Executes when the if condition is
FALSE.else: تنفذ عندما يكون شرط if خاطئاً.
elseif: Checks a new condition if the previous
one was FALSE.elseif: تفحص شرط جديد إذا كان الشرط السابق
خاطئاً.
💡 How It Works💡 كيف تعمل
PHP evaluates the condition inside the parenthesesPHP تقيّم الشرط داخل الأقواس
If TRUE, the code block inside {} is executedإذا كان صحيحاً، يتم تنفيذ الكود داخل {}
If FALSE, it moves to elseif or else (if present)إذا كان خاطئاً، ينتقل إلى elseif أو else (إن وجد)
Only ONE block of code is executed in an if-elseif-else
chainيتم تنفيذ كتلة كود واحدة فقط في سلسلة
if-elseif-else
💡 Best Practice💡 أفضل الممارسات
Always use curly braces {} even for single-line statements to avoid
bugs and improve readability.دائماً استخدم الأقواس المعقوفة {} حتى للجمل ذات السطر الواحد لتجنب
الأخطاء وتحسين القراءة.
Switch Statementجملة Switch
📚 What is Switch?📚 ما هي Switch؟
The switch statement is used to select one of many code blocks to
execute. It's a cleaner alternative to writing multiple if...elseif statements when
comparing a single variable against many values.جملة switch تستخدم لاختيار كتلة كود واحدة من عدة كتل للتنفيذ. هي بديل
أنظف لكتابة عدة جمل if...elseif عند مقارنة متغير واحد بعدة قيم.
🔧 Key Components🔧 المكونات
الأساسية
switch(expression): The value to be compared
against each case.switch(expression): القيمة التي ستتم مقارنتها مع
كل حالة.
case value: Defines a value to compare. If
matched, its code runs.case value: تحدد قيمة للمقارنة. إذا تطابقت، يتم
تنفيذ كودها.
break: Stops execution and exits the switch.
Without it, code "falls through" to the next case.break: توقف التنفيذ وتخرج من switch. بدونها،
الكود "يسقط" للحالة التالية.
default: Runs if no case matches (like else in if
statements).default: تعمل إذا لم تتطابق أي حالة (مثل else في
جمل if).
⚠️ Don't Forget break!⚠️ لا تنسَ break!
Forgetting break; will cause "fall-through" - all subsequent cases
will execute until a break is found!نسيان break; سيسبب "السقوط" - جميع الحالات التالية ستنفذ حتى يتم إيجاد
break!
For Loopحلقة For
📚 What is a For Loop?📚 ما هي حلقة
For؟
The for loop is used when you know exactly how many times you want to
execute a block of code. It's perfect for counting, iterating through arrays with
numeric indices, and any repeated task with a known number of iterations.حلقة for تستخدم عندما تعرف بالضبط كم مرة تريد تنفيذ كتلة كود. هي
مثالية للعد، والتكرار عبر المصفوفات ذات الفهارس الرقمية، وأي مهمة متكررة بعدد معروف من
التكرارات.
🔧 Three Parts of For Loop🔧 أجزاء حلقة
For الثلاثة
Initialization: Sets the starting value of the
counter (runs once at the beginning).التهيئة: تحدد قيمة البداية للعداد (تعمل مرة واحدة
في البداية).
Condition: Checked before each iteration. Loop
continues while TRUE.الشرط: يتم فحصه قبل كل تكرار. الحلقة تستمر طالما
الشرط صحيح.
Increment/Decrement: Updates the counter after
each iteration.الزيادة/النقصان: تحديث العداد بعد كل
تكرار.
🔄 Execution Flow🔄 تدفق التنفيذ
Initialize counter (once)تهيئة العداد
(مرة واحدة)
Check condition → If FALSE, exit loopفحص الشرط ← إذا خاطئ، أخرج من الحلقة
Execute code blockتنفيذ كتلة
الكود
Update counterتحديث العداد
Go back to step 2العودة للخطوة
2
While Loopحلقة While
📚 What is a While Loop?📚 ما هي حلقة
While؟
The while loop executes a block of code repeatedly as long as a
specified condition remains TRUE. Unlike for loops, while loops are best when you don't
know exactly how many iterations you need.حلقة while تنفذ كتلة كود بشكل متكرر طالما أن الشرط المحدد يبقى صحيحاً.
على عكس حلقات for، حلقات while أفضل عندما لا تعرف بالضبط كم تكرار تحتاج.
🔧 While vs Do-While🔧 While مقابل
Do-While
while: Checks condition BEFORE executing. May
never run if condition is initially FALSE.while: تفحص الشرط قبل التنفيذ. قد لا تعمل أبداً
إذا كان الشرط خاطئاً من البداية.
do-while: Checks condition AFTER executing.
Always runs at least once.do-while: تفحص الشرط بعد التنفيذ. تعمل مرة واحدة
على الأقل دائماً.
⚠️ Beware of Infinite Loops!⚠️ احذر من الحلقات اللانهائية!
Always ensure the condition will eventually become FALSE. An infinite
loop will crash your script or server! Always update the variable in the condition
inside the loop.تأكد دائماً أن الشرط سيصبح خاطئاً في النهاية. الحلقة اللانهائية ستوقف
السكريبت أو السيرفر! دائماً حدّث المتغير في الشرط داخل الحلقة.
Echo & PrintEcho و Print
📚 What are Echo and Print?📚 ما هما Echo
و Print؟
Echo and Print are two basic ways to output data to the browser in
PHP. Both are used to display text, HTML, or variable values.Echo و Print هما طريقتان أساسيتان لإخراج البيانات للمتصفح في PHP.
كلاهما يستخدم لعرض النصوص أو HTML أو قيم المتغيرات.
⚖️ Echo vs Print Differences⚖️ الفرق بين
Echo و Print
Featureالميزة
echo
print
Return Valueقيمة الإرجاع
Noneلا شيء
1
Parametersالمعاملات
Multipleمتعددة
One onlyواحد فقط
Speedالسرعة
Slightly fasterأسرع
قليلاً
Marginally slowerأبطأ
بقليل
Use in expressionsالاستخدام في
التعبيرات
❌
✅
💡 Recommendation💡 توصية
Use echo for most cases as it's faster and more commonly
used. Use print only when you need its return value (e.g., in ternary
expressions).استخدم echo في معظم الحالات لأنها أسرع وأكثر استخداماً.
استخدم print فقط عندما تحتاج قيمة الإرجاع (مثل في التعبيرات
الثلاثية).