Showing posts with label PHP ال بي اتش بي. Show all posts
Showing posts with label PHP ال بي اتش بي. Show all posts

Tuesday, January 21, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي دالة $ PHP GET and POST Methods

دالة $ PHP GET and POST Methods

دالة $ PHP GET and POST Methods

توجد طرقتين لاستقبال البيانات أو المعلومات من المستخدم فمثلا بيانات التسجيل أو تسجيل الدخول يمكن ارسالها للسيرفر بطريقتين إما باستخدام الدالة get_$ او post_$ فالدالتين تستخدمان لنقل المعلومات من جهاز client الى جهاز السيرفر.
دالة get_$ و post_$  كما ذكرنا تقومان بارسال المعلومات عبر المتصفح الى السيرفر ولكن توجد فروقات بين get_$ و post_$ 

دالة [ ]get_$

تسخدم دالة get_$ لارسال المعلومات من جهاز المستخدم الى السيرفر لاجراء العمليات المطلوبة مثل تخزين بياناته وغيره.
هذه الدالة لا تستخدم أبدا في ارسال البيانات الحساسة مثل بيانات تسجيل مستخدم جديد وفيها تسجيل كلمة سر أو تسجيل الدخول لانها تقوم بعرض المعلومات في الرابط المرسل URL وتظهر البيانات المرسلة في رابط المتصفح.تقوم الدالة  [ ]get_$  بعملية ترميز المعلومات قبل ارسالها يتم الفصل بين المعلومات المرسلة باستخدام الفاصلة ؟.

مميزات الدالة  [ ]get_$

  1. المعلومات المرسلة عبر الدالة [ ]get_$ تظهر في مربع المتصفح .
  2. الدالة [ ]get_$ مقيد بارسال كاقصى حد 1024 رمز فقط.
  3. الدالة [ ]get_$ لا تقوم باخفاء المعلومات المرسلة مثل كلمة السر فيجب عدم استخدامها في الارسال كلمات السر,
  4. الدالة [ ]get_$ لا يمكن ارسال الصور او الملفات او البيانات الثنائية.
  5. الدالة [ ]get_$ المعلومات المرسلة عبرها يمكن الوصل اليها باستخدام المتغير query_string.
  6. الدالة [ ]get_$ مدعومة من قبل لغة البي اتش بي بمصفوفة مساعدة لارسال البيانات عبرها.

مثال على [ ]get_$

<?php
  if( $_GET["name"] || $_GET["age"] )
  {
     echo "Welcome ". $_GET['name']. "<br />";
     echo "You are ". $_GET['age']. " years old.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="GET">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
  </form>
</body>
</html>


الدالة [ ]post_$

تقوم الدالة [ ]post_$ بارسال المعلومات من خلال البرتوكول http في جزء الراس Header وايضا يتم عملية ترميزالمعلومات  مثل الدالة  [ ]get_$ قبل ارسال المعلومات ويتم الوصل للبيانات [ ]post_$ عن طريق النتغير query_string

مزايا الدالة [ ]post_$

  1. لا يوجد اي قيود على حجم البيانات المرسلة بواسطة الدالة [ ]post_$
  2. يمكن استخدام [ ]post_$ لارسال الحروف asii وكذلك البيانات الثنائية كالصور والملفات
  3. يمكن ارسال البيانات الامنة او السرية عبر [ ]post_$ باستخدام بالرتوكول الامن https
  4. يمكن استخدام مصفوفة مساعدة لتمرير القيم عبر الدالة  [ ]post_$

مثال  على الدالة   [ ]post_$



<?php
  if( $_POST["name"] || $_POST["age"] )
  {
     echo "Welcome ". $_POST['name']. "<br />";
     echo "You are ". $_POST['age']. " years old.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">

  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />

  <input type="submit" />
  </form>
</body>
</html>

متغير $_REQUEST

المتغير  $_REQUEST يحتوي على محتويات الدوال  [ ]post_$  و [ ]get_$ و $_COOKIE  سوف نناقش $_COOKIE لاحقا.كما يستخدم $_REQUEST  للوصول للبيانات المرسلة عبر  [ ]post_$  و [ ]get_$ في النماذج.

مثال على المتغير
<?php
  if( $_REQUEST["name"] || $_REQUEST["age"] )
  {
     echo "Welcome ". $_REQUEST['name']. "<br />";
     echo "You are ". $_REQUEST['age']. " years old.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">

  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />

  <input type="submit" />
  </form>
</body>
</html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">

  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />

  <input type="submit" />
  </form>
</body>
</html>

استدعاء المتغيرات في نفس الدالة عن طريق المتغير $_PHP_SELF




Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
19/1/2014
No comments

Wednesday, January 15, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي مفاهيم الويب PHP Web Concepts

 مفاهيم الويب PHP Web Concepts

أساسيات البرمجة  برمجة المواقع بي اتش بي مفاهيم الويب PHP Web Concepts

مفاهيم الويب في البي اتش بي.

في مفاهيم الويب  سوف نركز كيفية توجيه اللغة للتفاعل مع المحتوى حسب نوع المتصفح الذي يستخدمه المستخدم لتصفح موقع ال بي اتش بي PHP.

اولا في مفاهيم الويب التعرف على المتصفح الويب ومنصة التشغيل

لغة البي اتش بي قامت بتعريف متغيرات خاصة تسمى متغيرات البيئة وهي تتعرف على بيئة المنصة والمتصفح والسرفر بحيث عن تمرير هذه المتغيرات تقوم بارجاع معلومات عن منصة التشغيل التي يتستخدمها المستخدم وغيرها. ويتم كتابة المعلومات عن طريق الطلب بربتوكول http ويتم حفظ معلومات منصة التشغيل والمتصفح في المتغير HTTP_USER_AGENT وهو متغير من متغيرات البيئة.
ويتم الحصول على معلومات متغيرات البيئة بواسطة الدالة ()getenv.

مثال على مفاهيم الويب الحصول على معلومات المتصفح ومنصة التشغيل التي يستخدمها المستخدم 
الدالة  ()preg_match سيتم شرحها في درس التعابير المنتظمة.
<html>
<body>
<?php
   $viewer = getenv( "HTTP_USER_AGENT" );
   $browser = "An unidentified browser";
   if( preg_match( "/MSIE/i", "$viewer" ) )
   {
      $browser = "Internet Explorer";
   }
   else if(  preg_match( "/Netscape/i", "$viewer" ) )
   {
      $browser = "Netscape";
   }
   else if(  preg_match( "/Mozilla/i", "$viewer" ) )
   {
      $browser = "Mozilla";
   }
   $platform = "An unidentified OS!";
   if( preg_match( "/Windows/i", "$viewer" ) )
   {
      $platform = "Windows!";
   }
   else if ( preg_match( "/Linux/i", "$viewer" ) )
   {
      $platform = "Linux!";
   }
   echo("You are using $browser on $platform");
?>
</body>
</html>

ناتج مثال مفاهيم الويب مرتبط ماهو المتصفح والنظام التشغيل الذي ستنفذ 

You are using Mozilla! on Windows!


استعراض مجموعة الصورة مع تغيرها عشوائية

تستخدم الدالة العشوائية لاختيار عشوائي حسب مجموعة من بين الارقام الدالة  ()rand.

<html>
<body>
<?php
  srand( microtime() * 1000000 );
  $num = rand( 1, 4 );
   
  switch( $num ) 
  {
  case 1: $image_file = "/home/images/alfa.jpg";
          break;
  case 2: $image_file = "/home/images/ferrari.jpg";
          break;
  case 3: $image_file = "/home/images/jaguar.jpg";
          break;
  case 4: $image_file = "/home/images/porsche.jpg";
          break;
  }
  echo "Random Image : <img src=$image_file />";
?>
</body>
</html>

استخدام نماذج الهتمل HTML

سيتم شرح النماذج والدوال لاحقا.

<?php
  if( $_POST["name"] || $_POST["age"] )
  {
     echo "Welcome ". $_POST['name']. "<br />";
     echo "You are ". $_POST['age']. " years old.";
     exit();
  }
?>
<html>
<body>
  <form action="<?php $_PHP_SELF ?>" method="POST">
  Name: <input type="text" name="name" />
  Age: <input type="text" name="age" />
  <input type="submit" />
  </form>
</body>
</html>


  
Name: Age:


توجية المستخدم الى صفحة أخر Browser Redirection

<?php
  if( $_POST["location"] )
  {
     $location = $_POST["location"];
     header( "Location:$location" );
     exit();
  }
?>
<html>
<body>
   <p>Choose a site to visit :</p>
   <form action="<?php $_PHP_SELF ?>" method="POST">
   <select name="location">
      <option value="http://w3c.org">
            World Wise Web Consortium
      </option>
      <option value="http://www.google.com">
            Google Search Page
      </option>
   </select>
   <input type="submit" />
   </form>
</body>
</html>


عرض صندوق الحوار لتنزيل ملف 

#!/usr/bin/perl

# HTTP Header
print "Content-Type:application/octet-stream; name="FileName"rn";
print "Content-Disposition: attachment; filename="FileName"rnn";

# Actual File Content
open( FILE, "<FileName" );
while(read(FILE, $buffer, 100) )
{
   print("$buffer");
}




Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
15/1/2014
No comments

Monday, January 13, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي السلاسل النصية PHP Strings

 السلاسل النصية PHP Strings

أساسيات البرمجة  برمجة المواقع بي اتش بي السلاسل النصية PHP Strings


السلاسل النصية:-

السلاسل النصية هي عبارة عن تسلسل من الحروف أو الرموز أو الارقام  أي جمل نصية تكتب السلاسل النصية في البي اتش بي بصغتين.

  • الصيغة الاولى للسلاسل النصية توضع بين علامتي تنصيص " ".
  • الصيغة الثانية للسلاسل النصية توضع بين علامة تنصيص أحدية '  '.
الفرق بين السلاسل النصية ذات علامتي التنصيص الثنائية " " بانها يمكن تنفيذ قيم المتغيرات إذا كتبت في الجملة.
أما السلاسل النصية أحدية التنصيص بانها تطبع الجملة حرفية أي إذا كتب متغير فأنها تطبع اسمه وليس قيمته.

$string_1 = "This is a string in double quotes";
$string_2 = "This is a somewhat longer, singly quoted string";
$string_39 = "This string has thirty-nine characters";
$string_0 = ""; // a string with zero characters

كما ذكرنا سابقا بان سلاسل النصية بين علامتي التنصيص الثنائية تقوم باستبدال المتغيرات بقيمها.بينما السلاسل النصية أحدية التنصيص فأنها تطبعها كما هي.

مثال على السلاسل النصية.

<?
$variable = "name";
$literally = 'My $variable will not print!\n';
print($literally);
$literally = "My $variable will print!\n";
print($literally);
?>

ناتج مثال السلاسل النصية

My $variable will not print!\n
My name will print


بعض الحروف المسبوقة بالشرطة المائلة \ في السلاسل النصية يتم استبدالها برموز خاصة.او تقوم بعمل يتم تفسيره مثل الرجوع سطر أو النزول سطر. ويتم استبدال المتغيرات في السلاسل النصية ثنائية التنصيص بالقيمة التي تحملها المتغيرات.

علامات الهروب في السلاسل النصية

  • n\ تستخدم للنزول سطر.
  • r\ تستخدم للرجوع خمس مسافات.
  • t\ تستخدم بواسطة زر القفز للحقل او الكلمة التي تحتوي على هذه الرمز باستخدام زر tab في لوحة المفاتيح.
  • $\ طباعة علامة الدولار.
  • "\ طباعة علامتي التنصيص.
  • \\ طباعة الشرطة المائلة العكسية.

ربط السلاسل النصية

<?php
$string1="Hello World";
$string2="1234";
echo $string1 . " " . $string2;
?>


ناتج ربط السلاسل النصية

Hello World 1234

استخدمنا النقطة . لربط السلاسل النصية مرتين وذلك لادراج مسافة بين السلسلتين النصيتين المراد ربطهما.

دالة طول السلسلة النصية ()strlen

<?php
echo strlen("Hello world!");
?>

ناتج طول السلسة النصية
12

دالة تحدد رقم موضع الكلمة من  السلسلة النصية ()strpos
<?php
echo strpos("Hello world!","world");
?>

ناتج دالة تحدد موضع الكلمة من السلسلة النصية

6



Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO Expert ,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
14/1/2014
No comments

Sunday, January 5, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي المصفوفات PHP Arrays

أساسيات البرمجة  برمجة المواقع

 بي اتش بي المصفوفات PHP Arrays

ماهي المصفوفات Arrays؟

المصفوفات عبارة عن مجموعة من البيانات لنوع معين على سبيل المثال لا يمكن تعريف مصفوفة رقمية ونضغ فيها عناصر نصية.بمعنى يجب ان تكون عناصرها من نفس النوع.يتم تخزن المصفوفة في مكان في الذاكرة يسمى Managed Heap ومن هنا نستنتج أن المصفوفات هي مرجعية القيمة Reference Value. أي يتم الوصول لعناصرها بالمرجع. المصفوفة أشبه بجدول يتكون من صفوف و أعمدة حيث انه يمكن الوصول للخلية في الجدول بتقاطع رقم الصف مع العمود وكذلك بالنسبة للمصفوفات ثنائية البعد أو مصفوفات المصفوفات.للوصول للمصفوفة يتم عن طريق فهرس المصفوفة. ويسمى فهرس المصفوفة بال index.
لغة الي اتش بي PHP أعطت مرونة  بعكس اللغات البرمجية الاخرى بحيث يمكن أن يكون فهرس المصفوفة نصي.بينما لغات الاخرى لا تسمح بذلك مثل تعريف المصفوفات في لغة الس شارب c#.

أساسيات البرمجة  برمجة المواقع بي اتش بي المصفوفات PHP Arrays
صورة للمصفوفات

أنواع المصفوفات في البي اتش بي PHP

توجد ثلاث أنواع من المصفوفات يمكن تعريفها داخل لغة الي اتش بي.
  1. المصفوفة الرقمية Numeric array  وهي مصفوفة يكون فيها فهرس المصفوفة رقمي.
  2. المصفوفة المترابطة وهي مصفوفة يكون فيها فهرس المصفوفة نصي.
  3. المصفوفة متعددة الابعاد Multidimensional array وهي مصفوفة تحتوي على مصفوفة أو أكثر من المصفوفات والقيم ويتم الوصول اليها بعدة فهارس.

أولا: المصفوفات الرقمية.

هي مصفوفات يمكن تخزين داخلها أي نوع من البيانات سواء كان رقمي أو نصي أو كائن ولكن فهرس المصفوفة لهذا النوع من المصفوفات هو رقمي.
ولانشاء المصفوفة نستخدم الدالة ()array.

مثال كود على المصفوفات الرقمية.

<html>

<body>

<?php

/*  الطريقةالاولى لانشاء المصفوفة*/

$numbers = array( 1, 2, 3, 4, 5);

foreach( $numbers as $value )

{

  echo "Value is $value <br />";

}

/* الطريقة الثانية. */

$numbers[0] = "one";

$numbers[1] = "two";

$numbers[2] = "three";

$numbers[3] = "four";

$numbers[4] = "five";



foreach( $numbers as $value )

{

  echo "Value is $value <br />";

}

?>

</body>

</html>

This will produce 

ناتج المصفوفة الرقمية

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
Value is one
Value is two
Value is three
Value is four
Value is five

ثانيا المصفوفات المترابطة Associative Arrays

كما ذكرنا سابقا بان البي اتش بي تتميز في تعريف المصفوفات بانها يمكن تعريف فهرس المصفوفات ليكون نصي بعكس اللغات الاخرى مما يمنحها مرونة.فالمصفوفة المترابطة هي مصفوفة عادية ولكن يمكن تعريف فهرس المصفوفة ليكون نصي وعندها تصبح مصفوفة مترابطة.

مثال كود على المصفوفة المترابطة

<html>

<body>

<?php

/* الطريقة الاولى لتعريف مصفوفة مترابطة. */

$salaries = array( 

     "mohammad" => 2000, 

     "qadir" => 1000, 

     "zara" => 500

    );



echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";

echo "Salary of qadir is ".  $salaries['qadir']. "<br />";

echo "Salary of zara is ".  $salaries['zara']. "<br />";



/* الطريقة الثانية لتعريف مصفوفة مترابطة */

$salaries['mohammad'] = "high";

$salaries['qadir'] = "medium";

$salaries['zara'] = "low";



echo "Salary of mohammad is ". $salaries['mohammad'] . "<br />";

echo "Salary of qadir is ".  $salaries['qadir']. "<br />";

echo "Salary of zara is ".  $salaries['zara']. "<br />";

?>

</body>

</html>


ناتج مثال المصفوفة المترابطة

Salary of mohammad is 2000
Salary of qadir is 1000
Salary of zara is 500
Salary of mohammad is high
Salary of qadir is medium
Salary of zara is low


ثالثا المصفوفات متعددة الابعاد

هي مصفوفة بحيث ان كل عنصر من عناصر المصفوفة يكون مصفوفة أخرى.

مثال كود على المصفوفات متعددة الابعاد

<html>

<body>

<?php

   $marks = array( 

  "mohammad" => array

  (

  "physics" => 35,     

  "maths" => 30,     

  "chemistry" => 39     

  ),

  "qadir" => array

                (

                "physics" => 30,

                "maths" => 32,

                "chemistry" => 29

                ),

                "zara" => array

                (

                "physics" => 31,

                "maths" => 22,

                "chemistry" => 39

                )

      );

   /*الوصول لقيم عناصر المصفوفة متعددة الابعاد */

   echo "Marks for mohammad in physics : " ;

   echo $marks['mohammad']['physics'] . "<br />"; 

   echo "Marks for qadir in maths : ";

   echo $marks['qadir']['maths'] . "<br />"; 

   echo "Marks for zara in chemistry : " ;

   echo $marks['zara']['chemistry'] . "<br />"; 

?>

</body>

</html>


ناتج المصفوفة متعددة الابعاد

Marks for mohammad in physics : 35
Marks for qadir in maths : 32
Marks for zara in chemistry : 39




Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
5/1/2014
No comments

Monday, December 30, 2013

أساسيات البرمجة برمجة المواقع بي اتش بي حلقات التكرار أو الدوارة PHP Loop Types

حلقات التكرار أو الدوارة PHP Loop Types

مقدمة عن حلقات التكرار:-

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

ماهي حلقات التكرار؟

حلقات التكرار عبارة عن كود برمجي يقوم بتنفيذ شيء ما بتكرار بناء على شرط معطى خلال حلقات التكرار فمثلا نريد حلقة تكرار تقوم بطباعة الأرقام الزوجية ما بين 2 - 100 فاننا ننشأء حلقة تكرار بحيث يتم طباعة ألارقام بشرط تكون زوجية أي تقبل القسمة على 2 وباقي القسمة صفر.

أنواع حلقات التكرار

  1. حلقة التكرار for حيث تكرار عدد مرات.
  2. حلقة التكرار while تكرار القيمة بينما الشرط المعطى صحيح.
  3. حلقة التكرار do while تكرار القيمة بينما الشرط المعطى صحيح.
  4. حلقة التكرار foreach تكرار القيمة حسب عدد المصفوفة.

أولا حلقات التكرار من نوع for

الصيغة العامة لحلقات التكرار for

for (القيمة الابتدائية; الشرط; الزيادة)
{
 الكود;
}

مثال لحلقات التكرار.

<html>
<body>
<?php
$a = 0;
$b = 0;
for( $i=0; $i<5; $i++ )
{
   $a += 10;
   $b += 5;
 echo "a= " .$a."
";
 echo "b= " .$b."
";
}
echo ("At the end of the loop a=$a and b=$b" );
?>
</body>
</html>

ناتج مثال حلقات التكرار من نوع for

a= 10
b= 5
a= 20
b= 10
a= 30
b= 15
a= 40
b= 20
a= 50
b= 25
At the end of the loop a=50 and b=25


ثانيا حلقات التكرار من نوع while

إن حلقة  التكرار التي نوع while تقوم أولا بفحص الشرط في حال كان صحيح يبدأ عمل حلقة التكرار وتنفيذ الكود.
الصيغة العامة لحلقات التكرار من نوع while

while (الشرط)
{
   الكود الذي سوف ينفذ;
}


مثال على حلقات التكرار من نوع while


<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقات التكرار while


Loop stopped at i = 10 and num = 40 

ثالثا حلقة التكرار من نوع do while

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

الصيغة العامة لحلقة التكرار من نوع do while



do
{
   الكود الذي سينفذ;
}while (الشرط);

مثال على حلقة التكرار do while

<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10)
{
   $num--;
   $i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>

ناتج كود حلقة التكرار do while

Loop stopped at i = 10

رابعا حلقة التكرار foreach

هذا النوع من حلقات التكرار يقوم بالدواران على مجموعة من العناصر داخل المصفوفة.

الصيغة العامة  ل حلقة التكرار foreach

foreach (array as value)
{
    code to be executed;

}


مثال على حلقة التكرار for each


<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  echo "Value is $value <br />";
}
?>
</body>
</html>


ناتج حلقة التكرار for each

Value is 1
Value is 2
Value is 3
Value is 4
Value is 5

خامسا جملة التوقف break

تستخدم جملة التوقف  لايقاف تنفيذ الكود والخروج من حلقة التكرار.

مثال على استخدام جملة التوقف break

<html>
<body>
<?php
$i = 0;
while( $i < 10)
{
   $i++;
   if( $i == 3 )break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>

ناتج جملة التوقف break

Loop stopped at i = 3

سادسا جملة الاستمرار continue 

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

مثال على جملة الاستمرار continue

<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value )
{
  if( $value == 3 )continue;
  echo "Value is $value <br />";
}
?>
</body>
</html>

ناتج جملة الاستمرار continue




Value is 1
Value is 2
Value is 4
Value is 5



Ahmed Ata Almahallawi
Freelancer
IT Help Desk,
SEO experience,PHP,C#,ASPX,SQL
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
30/12/2013
No comments

Sunday, December 29, 2013

أساسيات البرمجة - برمجة المواقع صنع القرارات الجمل الشرطية PHP Decision Making

صنع القرارات أو الجمل الشرطية PHP Decision 

الجمل الشرطية في البي اتش بي:-

كما ذكرنا سابقا في درس المتغيرات فأن أسياسيات البرمجة في كافة اللغات البرمجة الموجه بالكائنات كلها متشابهة في الصيغة ولا يوجد اختلاف كبيرة بل هي فروقات بالكاد تكون واضحة.ولذلك فان الجمل الشرطية في البي اتش بي هي نفس صيغة الجمل الشرطية في الس شارب وكذلك هي نفس صيغة الجمل الشرطية في لغة سي بلس بلس .وهس نفس الجمل الشرطية في أي لغة أخرى. ولذلك عند التعامل مع صنع القرارات أو بما يعرف ب الجمل الشرطية يفضل دراسة الخوارزميات الخاصة ب الجمل الشرطية لانها موحدة في كافة لغات البرمجة.

أنواع الجمل الشرطية في البي اتش بي:

  1. الجمل الشرطية في صيغتها المبسطة  if...else statement
  2. الجمل الشرطية في صيغتها المركبة elseif statement
  3. الجمل الشرطية الاختيار من متعدد او بالبدالة switch statement

أولا الجمل الشرطية في صيغتها المبسطة   if...else statement

الصيغة العامة ل الجمل الشرطية المبسطة

if (الشرط)
  في حال كان صحيح ينفذ هذا الجزء;
else
  في حال كان خطأ ينفذ هذا الجزء;

مثال على الجمل الشرطية البسيطة:-

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  echo "Have a nice weekend!"; 
else
  echo "Have a nice day!"; 
?>
</body>
</html>

مثال على الجمل الشرطية البسيطة

في حال كانت الكود المراد تنفيذه في أكثر من سطر فيجب استخدام الحاصرتين {} بعد if

<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  {
  echo "Hello!<br />"; 
  echo "Have a nice weekend!";
  echo "See you on Monday!";
  }
?>
</body>
</html>

ثانيا الجمل الشرطية في صيغتها المركبة    elseif statement

الجمل الشرطية المركبة هي صيغة من الجمل الشرطية البسيطة ولكن بدل من أن تفحص شرطين فأنها تفحص عدد شروط وتنفذ الشرط الصحيح منها.

الصيغة العامة ل الجمل الشرطية المركبة.

if (condition)
  code to be executed if condition is true;
elseif (condition)
  code to be executed if condition is true;
else
  code to be executed if condition is false;


مثال على الجمل الشرطية المركبة في البي اتش بي


<html>
<body>
<?php
$d=date("D");
if ($d=="Fri")
  echo "Have a nice weekend!"; 
elseif ($d=="Sun")
  echo "Have a nice Sunday!"; 
else
  echo "Have a nice day!"; 
?>
</body>
</html>

 ثالثا الجمل الشرطية الاختيار من متعدد او بالبدالة switch statement

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

الصيغة العامة للجمل الشرطية الاختيار من متعدد أو سويتش.


switch (التعبير)
{
case الاختيار1:
  ينفذ الكود في حال كان التعبير يساوي الاختيار1
  break;  
case الاختيار2:
ينفذ الكود في حال كان التعبير يساوي الاختيار2
break; default: ينفذ هذا الاختيار في حال لا يوجد اي من الاختيارات السابقة ما يساوي التعبير }

مثال عى الجمل الشرطية من نوع switch

<html>
<body>
<?php
$d=date("D");
switch ($d)
{
case "Mon":
  echo "Today is Monday";
  break;
case "Tue":
  echo "Today is Tuesday";
  break;
case "Wed":
  echo "Today is Wednesday";
  break;
case "Thu":
  echo "Today is Thursday";
  break;
case "Fri":
  echo "Today is Friday";
  break;
case "Sat":
  echo "Today is Saturday";
  break;
case "Sun":
  echo "Today is Sunday";
  break;
default:
  echo "Wonder which day is this ?";
}
?>
</body>
</html>



Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
30/12/2013
No comments

Thursday, December 26, 2013

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات الشرطية PHP Conditional Operator Example

أمثلة على المشغلات  الشرطية

المشغلات الشرطية تتم باستخدام علامة الاستفهام ؟ وهي  تشرط في حال كان الاخيار الاول صحيح سينفذ بغض النظر عن الثاني مالم  سينفذ الخيار الثاني حتى ولم يكن صحيح. المثال التالي يعرض المشغل الشرطي.

<html>
<head><title>Arithmetical Operators</title><head>
<body>
<?php
    $a = 10;
    $b = 20;
    /* If condition is true then assign a to result otheriwse b */
    $result = ($a > $b ) ? $a :$b;
    echo "TEST1 : Value of result is $result<br/>";
    /* If condition is true then assign a to result otheriwse b */
    $result = ($a < $b ) ? $a :$b;
    echo "TEST2 : Value of result is $result<br/>";
?>
</body>
</html>

الناتج  المشغلات  الشرطية :-

TEST1 : Value of result is 20
TEST2 : Value of result is 10




Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
DOB: 05/10/1984
by +Ahmed Almahallawi 
29/12/2013

No comments

أساسيات برمجة المواقع بي اتش بي - أمثلة على المشغلات المنطقية PHP Logical Operators Example

 أمثلة على المشغلات المنطقية

في المثال التالي نستعرض المشغلات المنطقية.


<html>
<head><title>Logical Operators المشغلات المنطقية  </title><head>
<body>
<?php
    $a = 42;
    $b = 0;
    if( $a && $b ){
       echo "TEST1 : Both a and b are true<br/>";
    }else{
       echo "TEST1 : Either a or b is false<br/>";
    }
    if( $a and $b ){
       echo "TEST2 : Both a and b are true<br/>";
    }else{
       echo "TEST2 : Either a or b is false<br/>";
    }
    if( $a || $b ){
       echo "TEST3 : Either a or b is true<br/>";
    }else{
       echo "TEST3 : Both a and b are false<br/>";
    }
    if( $a or $b ){
       echo "TEST4 : Either a or b is true<br/>";
    }else{
       echo "TEST4 : Both a and b are false<br/>";
    }
    $a = 10;
    $b = 20;
    if( $a ){
       echo "TEST5 : a is true <br/>";
    }else{
       echo "TEST5 : a  is false<br/>";
    }
    if( $b ){
       echo "TEST6 : b is true <br/>";
    }else{
       echo "TEST6 : b  is false<br/>";
    }
    if( !$a ){
       echo "TEST7 : a is true <br/>";
    }else{
       echo "TEST7 : a  is false<br/>";
    }
    if( !$b ){
       echo "TEST8 : b is true <br/>";
    }else{
       echo "TEST8 : b  is false<br/>";
    }
?>
</body>
</html>


الناتج المشغلات المنطقية:-

TEST1 : Either a or b is false
TEST2 : Either a or b is false
TEST3 : Either a or b is true
TEST4 : Either a or b is true
TEST5 : a is true
TEST6 : b is true
TEST7 : a is false
TEST8 : b is false


Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
29/12/2013
No comments

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات الاسناد PHP Assignment Operators Example

أساسيات برمجة المواقع بي اتش بي - مثال على مشغلات الاسناد


في المثال التالي نستعرض على المشغلات  الاسناد التي يمكن التعامل بها في لغة البي اتش بي.

<html>
<head><title>Assignment Operators</title><head>
<body>
<?php
    $a = 42;
    $b = 20;   
    $c = $a + $b;   /* Assignment operator */
    echo "Addtion Operation Result: $c <br/>";
    $c += $a;  /* c value was 42 + 20 = 62 */
    echo "Add AND Assigment Operation Result: $c <br/>";
    $c -= $a; /* c value was 42 + 20 + 42 = 104 */
    echo "Subtract AND Assignment Operation Result: $c <br/>";
    $c *= $a; /* c value was 104 - 42 = 62 */
    echo "Multiply AND Assignment Operation Result: $c <br/>";
    $c /= $a;  /* c value was 62 * 42 = 2604 */
    echo "Division AND Assignment Operation Result: $c <br/>";
    $c %= $a; /* c value was 2604/42 = 62*/
    echo "Modulus AND Assignment Operation Result: $c <br/>";
?>
</body>
</html>


الناتج:-

Addtion Operation Result: 62
Add AND Assigment Operation Result: 104
Subtract AND Assignment Operation Result: 62
Multiply AND Assignment Operation Result: 2604
Division AND Assignment Operation Result: 62
Modulus AND Assignment Operation Result: 20 

Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
26/12/2013
No comments

Wednesday, December 25, 2013

أساسيات البرمجة برمجة المواقع بي اتش بي مثال على مشغلات المقارنة PHP Comparison Operators Example

 مثال على مشغلات المقارنة PHP Comparison Operators 

معاملات المقارنة

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

<
<html>
<head><title>Comparison Operators</title><head>
<body>
<?php
    $a = 42;
    $b = 20;
    if( $a == $b ){
       echo "TEST1 : a تساوي b<br/>";
    }else{
       echo "TEST1 : a لاتساوي b<br/>";
    }
    if( $a > $b ){
       echo "TEST2 : a أكبر من b<br/>";
    }else{
       echo "TEST2 : a ليست أكبر من b<br/>";
    }
    if( $a < $b ){
       echo "TEST3 : a أصغر  b<br/>";
    }else{
       echo "TEST3 : a ليست لأصغر b<br/>";
    }
    if( $a != $b ){
       echo "TEST4 : a لا تساوي b<br/>";
    }else{
       echo "TEST4 : a تساوي b<br/>";
    }
    if( $a >= $b ){
       echo "TEST5 : a أكبر من  أو تساوي b<br/>";
    }else{
       echo "TEST5 : a ليست أكبر من ولا تساوي b<br/>";
    }
    if( $a <= $b ){
       echo "TEST6 : a أصغر من أو تساوي b<br/>";
    }else{
       echo "TEST6 : a  ليست أصغر من ولا تساوي b<br/>";
    }
?>
</body>
</html>

الناتج

TEST1 : a لاتساوي b
TEST2 : a أكبر من b
TEST3 : a ليست لأصغر b
TEST4 : a لا تساوي b
TEST5 : a أكبر من أو تساوي b
TEST6 : a ليست أصغر من ولا تساوي b


Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
25/12/2013
No comments

Tuesday, December 24, 2013

أساسيات برمجة المواقع بي اتش بي مثال على المشغلات الحسابية PHP Arithmetic Operators

 مثال على المشغلات الحسابية PHP Arithmetic Operators 


<html>
<head><title>Arithmetical Operators</title><head>
<body>
<?php
    $a = 42;
    $b = 20;
    $c = $a + $b;
    echo "ناتج عملية الجمع: $c <br/>";
    $c = $a - $b;
    echo "ناتج عملية الطرح: $c <br/>";
    $c = $a * $b;
    echo "ناتج عملية الضرب: $c <br/>";
    $c = $a / $b;
    echo "ناتج عملية القسمة: $c <br/>";
    $c = $a % $b;
    echo "باقي القسمة: $c <br/>";
    $c = $a++; 
    echo "زيادة بعد الطباعة : $c <br/>";
    $c = $a--; 
    echo "نقصان بعد الطباعة: $c <br/>";
?>
</body>
</html>

الناتج


ناتج عملية الجمع: 62 
ناتج عملية الطرح: 22 
ناتج عملية الضرب: 840 
ناتج عملية القسمة: 2.1 
باقي القسمة: 2 
زيادة بعد الطباعة : 42 
نقصان بعد الطباعة: 43 



Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
23/12/2013


No comments

Sunday, December 22, 2013

أساسيات برمجة المواقع بي اتش بي - أنواع المشغلات PHP Operator Types

أنواع المشغلات  PHP Operator Types

ماهو المشغل أو المعامل؟

سنضرب مثال بسيط 9+2=11 فان 9و2 هو طرفي المشغل أما + فهو المشغل.فاذا المشغلات هي رموز عند ترجمتها فانها تقوم بعملية ما مثل الجمع او الضرب الى أخره.

أنواع المشغلات 


  1. Arithmetic Operators مشغلات حسابية.
  2. Comparison Operators مشغلات مقارنة.
  3. Logical (or Relational) Operators مشغلات منطقية.
  4. Assignment Operators مشغلات الإسناد.
  5. Conditional (or ternary) Operators مشغلات الشرطية.
ملاحظة كافة اللغات البرمجية تتشابه في الاساسيات فمثلا المشغلات في لغة بي اتش بي وسي شارب واي لغة اخرى تتشابه والاختلاف يكون في صيغة كتابة الكود وهو اختلاف بسيط .يمكنك الاطلاع على المشغلات فب لغة سي شارب.


Arithmetic Operators المعاملات الحسابية

الجدول التالي يبين المعاملات الحسابية ووصف لاستخدامها. حيث A = 20 , B=10

Operator
المعامل
Description
الوصف
Example
مثال
+يجمع رقمينA + B -->30
-يستخدم للطرح الرقم الثاني من الأولA - B --> -10
*يستخدم لعملية الضربA * B --> 200
/يستخدم لعملية القسمةB / A --> 2
%باقي القسمةB % A --> 0
++زيادة بمقدار واحدA++ --> 11
--نقصان بمقدار زاحدA--  --> 9

مثال على المشغلات  الحسابية.

  Comparison Operators المعامل العلاقي المقارنة

الجدول التالي يبين المعاملات  المقارنة  ووصف لاستخدامها. حيث A = 20 , B=10

Operator
المعامل
 الوصف Description Example مثال 
==يتم المقارنة بين قمتين في حال كانتا متساويتين يعيد قيمة صحيحة(A == B)الناتج خطأ
!=يتم المقارنة بين قمتين غير متساويتين في حال كانتامتساويتين يعيد قيمة خطا أو صحيح في حال كانتا خطأ(A != B)الناتج صحيح.
>يتم فحص هل القيمة اليسرى اكبر من الصغرى فيعيد قيمة صحيحة أو خطأ في حال العكس(A > B) الناتج خطا
<يتم فحص القيمة اليسرى أصغرى من اليمين فيعيد قيمة صحيحة أو قيمة خطأ في حال كان العكس(A < B) الناتج صحيح
>=فحص القيمة اليسرى هل هي أكبر أو يساوي القيمة اليمنى فيعيد قيمة صحيحة في حال كانت اكبر او يساوي او قيمة (A >= B)الناتج خطا
<=فحص القيمة اليسرى هل هي أصغر أويساوي في حال كانت تعيد قيمة صحيحة والعكس تعيد قيمة خطأ(A <= B) الناتج صحيح

Logical Operators المعاملات المنطقية

في المثال التالي A قيمة صحيحة true وبينما B تحمل قيمة False (ملاحظة الكثير من المتدريبن يضربون في هذا الجدول بمثال السم والعسل عند التعامل مع هذه المعاملات ).

OperatorDescriptionExample
&&
يسمى  بالمعامل المنطقى    و حيث أن إذا كانت القمتين لا تساوي صفر و تعيد كل منها صحيح فان الناتج صحيح
(A && B) الناتج خطأ
||
يسمى بالمعامل أو لإي حال كانت إحدى القمتين صحيح فيعيد الناتح صحيح
(A || B) الناتج صحيح
!
يسمى  بالمعامل لا وهو يعكس الصحيح ليصبح خطا والخطا ليصبح صحيح
!(A && B) الناتج صحيح
and
إذا كان طرفي المشغل صحيحين فان الناتج صحيح
(A and B)الناتج صحيح
Or
في حال كان أحد الطرفين لايساوي صفر فالناتج يكون صحيح
(A or B) الناتج صحيح

مثال على المشغلات المنطقية


Assignment Operators معاملات الإسناد

الجدول التالي يوضح معاملات الإسناد في سي شارب.

Operator
المعامل
Description الوصفExample المثال
=يساوي إسناد القيمة عن أي ناتج لعملية حسابيةC = A + B سوف يسند قيمة A + B إلى C
+=يضيف القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسارC += A تساوي  C = C + A
-=يطرح  القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسارC -= A is مساوية C = C - A
*=يضرب  القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسارC *= A مساوي الى C = C * A
%=باقي القسمة  القيمة التي على يسار المعامل الى القيمة على اليمين ثم يسندها الى القيمة التي على اليسارC %= A مساوي  C = C % A

مثال على مشغلات الاسناد

 مشغلات التخيير أو المقارنة Conditional Operator


Operator
المعامل
Description الوصفExample المثال
? :تعبير مقارنةإذا كان ؟ صحيح فان القيمة س ما لم فان ص

مثال على المشغل الشرطي

Operators Precedence  الاولوية للمعاملات او العوامل


التصنيفOperator الترتيب 
Postfix ++ - - !من الشمال الى اليمين
Multiplicative  * / % من الشمال الى اليمين
Additive  + - من الشمال الى اليمين
Relational  < <= > >= من الشمال الى اليمين 
Equality  == != من الشمال الى اليمين
Logical AND && من الشمال الى اليمين
Logical OR || من الشمال الى اليمين
Conditional ?: من اليمين للشمال
Assignment = += -= *= /= %=>>= <<= &= ^= |= من اليمين للشمال




Ahmed Ata Almahallawi
Freelancer
IT
IT Help Desk,
SEO experience,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
ahmed.almahallawi@gmail.com
DOB: 05/10/1984
by +Ahmed Almahallawi 
26/12/2013
No comments