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

Sunday, January 19, 2014

برمجة متقدمة سي شارب فئة الجداول التجزئة C# - Hashtable Class

فئة الجداول المجزء C# - Hashtable Class

فئة الجدول المجزئة؟

الجدول المجزء هو عن مجموعة أو تجميع يمثل زوج من القيمة والمفتاح ويتم التنظيم بناءا على كود الهامش للمفتاح ويستخدم المفتاح في الجدول التجزئة للوصول الى العناصر في المجموعة.
الجدول التجزئة تستخدم عندما نريد الوصول الى العناصر باستخدام المفتاح ويمكن ان تعرف قيمة مفيدة للمفتاح كل عنصر في جدول التجزئة لديه مفتاح وقيمة .يستخدم المفتاح للوصول للعناصر الموجودة في المجموعة.


دوال وخصائص جدول التجزئة

خصائص التجزئة


الخصائصالوصف
Countقراءة رقم زوج المفتاح والقيمة التي تحتوي جدول التجزئة
IsFixedSizeقراءة القيمة التي تشير إذا ماكان جدول التجزئة له حجم ثابت
IsReadOnlyقراءة القيمة التي تشير إذا ماكان جدول التجزئة للقراءة فقط
Itemقراءة اوكتابة القيمة المرتبطة مع المفتاح المحدد في جدول التجزئة
Keysقراءة المجموعة التي تحتوي على المفاتيح في جدول التجزئة
Valuesقراءة المجموعة التي تحتوي على قيم جدول التجزئة

دوال  جدول التجزئة 

التسلسلالوصف
1public virtual void Add( object key, object value ); 
اضافة العنصر للمفتاح والقيمة المحددة في جدول التجزئة
2public virtual void Clear(); 
ازالة كل العناصر في جدول التجزئة
3public virtual bool ContainsKey( object key ); 
تحديد اذا ماكان جدول التجزئة يحتوي على المفتاح المحدد
4public virtual bool ContainsValue( object value ); 
تحديد أذا ماكان جدول التجزئة يحتوي على القيمة المعطاة
5public virtual void Remove( object key ); 
ازالة كل العنصر من جدول التجزئة حسب قيمة المفتاح

مثال على الجدوال التجزئة


using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         Hashtable ht = new Hashtable();


         ht.Add("001", "Zara Ali");
         ht.Add("002", "Abida Rehman");
         ht.Add("003", "Joe Holzner");
         ht.Add("004", "Mausam Benazir Nur");
         ht.Add("005", "M. Amlan");
         ht.Add("006", "M. Arif");
         ht.Add("007", "Ritesh Saikia");

         if (ht.ContainsValue("Nuha Ali"))
         {
            Console.WriteLine("This student name is already in the list");
         }
         else
         {
            ht.Add("008", "Nuha Ali");
         }
         // Get a collection of the keys. 
         ICollection key = ht.Keys;

         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + ht[k]);
         }
         Console.ReadKey();
      }
   }
}

ناتج مثال جدول التجزئة

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Benazir Nur
005: M. Amlan
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali 


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

Saturday, January 18, 2014

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

 القائمة المرتبة C# - SortedList Class

برمجة متقدمة سي شارب القائمة المرتبة C# - SortedList Class

ماهي القائمة  المرتبة؟

القائمة المرتبة تمثل مجموعة من زوج يحتوي على القيمة value والمفتاح key ويمكن الوصول اليها بالفهرس أو المفتاح.القائمة المرتبة هي مزيج بين جدوال التجزئة والمصفوفات في حال استخدمت الفهرس للوصول الي عناصرالقائمة المرتبة  فهي اذن مصفوفة قائمة وفي حال استخدمت المفتاح للوصول لعناصر القائمة المرتبة فهي اذن جدول التجزئة.


دوال وخصائص القائمة المرتبة

اولا خصائص القائمة المرتبة

الخاصيةالوصف
Capacityكتابة او قراءة سعة القائمة المرتبة
Countقراءة عدد العناصر التي تحتويها القائمة المرتبة
IsFixedSizeقراءة القيمةالتي تشير هل القائمة المرتبة ذات حجم ثابت
IsReadOnlyقراءة القيمةالتى تشير هل ان القائمة المرتبة للقراءة فقط
Itemقراءة وكتابة القيمة المرتبطة مع المفتاح المحدد  في القائمة المرتبة
Keysقراءة المفاتيح في القائمة المرتبة
Valuesقراءة القيم في القائمة المرتبة

دوال القائمة المرتبة

التسلسلالدالة والوصف
1public virtual void Add( object key, object value ); اضافة عنصر حسب المفتاح والقيمة المعطاة الى القائمة المرتبة
2public virtual void Clear(); حذف كل العناصر من القائمة المرتبة
3public virtual bool ContainsKey( object key ); تحديد اذا ماكانت القائمة المرتبة تحتوي على المفتاح المحدد ام لا
4public virtual bool ContainsValue( object value ); تحديد إذا ماكانت القائمة المرتبة  تحتوي على القيمة المحددة
5public virtual object GetByIndex( int index ); قراءة القيمة حسب الفهرس المعطى في القائمة  المرتبة
6public virtual object GetKey( int index ); قراء قيمة المفتاح حسب الفهرس المعطى في القائمة المرتبة
7public virtual IList GetKeyList(); 
قراءة المفاتيح في القائمة المرتبة
8public virtual IList GetValueList(); قراءة القيم في القائمة المرتبة
9public virtual int IndexOfKey( object key ); تعيد قيمة صفر اعتماد على اساس الفهرس لقيمة المفتاح المحدد القئمة المرتبة
10public virtual int IndexOfValue( object value ); تعيد قيمة صفر اعتماد على اساس الفهرس لاول قيمة يجدها للقيمة المحدد في القائئمة المرتبة
11public virtual void Remove( object key ); ازالة العنصر حسب قيمة المفتاح الممرر في القائمة المرتبة
12public virtual void RemoveAt( int index ); ازالة العنصر حسب قيمة الفهرس المرر للقائمة المرتبة
13public virtual void TrimToSize(); تحديد سعة العناصر حسب الرقم في القائمة المرتبة

مثال على القائمة المرتبة

using System;
using System.Collections;

namespace CollectionsApplication
{
   class Program
   {
      static void Main(string[] args)
      {
         SortedList sl = new SortedList();

         sl.Add("001", "Zara Ali");
         sl.Add("002", "Abida Rehman");
         sl.Add("003", "Joe Holzner");
         sl.Add("004", "Mausam Benazir Nur");
         sl.Add("005", "M. Amlan");
         sl.Add("006", "M. Arif");
         sl.Add("007", "Ritesh Saikia");

         if (sl.ContainsValue("Nuha Ali"))
         {
            Console.WriteLine("This student name is already in the list");
         }
         else
         {
            sl.Add("008", "Nuha Ali");
         }

         // get a collection of the keys. 
         ICollection key = sl.Keys;

         foreach (string k in key)
         {
            Console.WriteLine(k + ": " + sl[k]);
         }
      }
   }
}

ناتج مثال القائمة المرتبة

001: Zara Ali
002: Abida Rehman
003: Joe Holzner
004: Mausam Banazir Nur
005: M. Amlan 
006: M. Arif
007: Ritesh Saikia
008: Nuha Ali







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

Friday, January 17, 2014

برمجة متقدمة سي شارب مصفوفة القائمة C# - ArrayList Class

مصفوفة القائمة C# - ArrayList Class

ماهي مصفوفة القائمة ArrayList ؟

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

دوال وخصائص مصفوفة القائمة ArrayList Class

خصائص مصفوفة القائمة  ArrayList

الخصائصالوصف
Capacity  تقوم بقراءة أو كتابة عدد عناصر  مصفوفة القائمة التي يمكن ان تحتويها
Countتقوم بقراءة عدد عناصر مصفوفة القائمة التي تحتويها بالفعل
IsFixedSizeتقوم بقراءة القيمة التي تشير الى ان هل مصفوفة القائمة ثابتة الحجم 
IsReadOnlyتعيد القيمة التي تشير هل ان مصفوفة القائمة قراءة فقط
Itemتقوم بالقراءة او الكتابة علىالعنصر حسب الفهرس المحدد في مصفوفة القائمة

دوال مصفوفة القائمة  ArrayList


تسلسلاسم الدالة والخاصية
1public virtual int Add( object value ); تضيف كائن الى نهاية مصفوفة القائمة
ArrayList.
2public virtual void AddRange( ICollection c ); تضيف عنصر من
 ICollection
الى نهاية مصفوفة القائمة
 ArrayList.
3public virtual void Clear();تقوم بمسح عناصر مصفوفة القائمة
 ArrayList.
4public virtual bool Contains( object item ); تحدد إذا ماكن العنصر موجود  في مصفوفة القائمة
5public virtual ArrayList GetRange( int index, int count ); ترجع مصفوفة القائمة التي تمثل مجموعة من العناصر في مصدر مصفوفة القائمة
6public virtual int IndexOf(object);تعيد قيمة صفر اعتمادا على الفهرس حسب اول قيمة عنصر تجده في  مصفوفة القائمة
7public virtual void Insert( int index, object value ); إضافة عنصر الى مصفوفة القائمة حسب قيمة الفهرس المعطى
8public virtual void InsertRange( int index, ICollection c ); اضافة عناصر من المجموعة الى مصفوفة القائمة حسب الفهرس المعطى
9public virtual void Remove( object obj ); ازالة اول عنصر تجده من كائن الممرر من مصفوفة القائمة
10public virtual void RemoveAt( int index ); ازالة عنصر حسب الفهرس المحدد من مصفوفة القائمة
11public virtual void RemoveRange( int index, int count ); ازالة مجموعة من العناصر بدا من الفهرس المعطى وبمقدار عدد من مصفوفة القائمة
12public virtual void Reverse();عكس ترتيب عناصر  مصفوفة القائمة
13public virtual void SetRange( int index, ICollection c ); نسخ عناصر المصفوفة من مدى محدد في مصفوفة القائمة
14public virtual void Sort();ترتيب عناصر مصفوفة القائمة
15public virtual void TrimToSize();تحديد سعة العناصر في مصفوفة القائمة


مثال على مصفوفة القائمة


using System;
using System.Collections;

namespace CollectionApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            ArrayList al = new ArrayList();

            Console.WriteLine("Adding some numbers:");
            al.Add(45);
            al.Add(78);
            al.Add(33);
            al.Add(56);
            al.Add(12);
            al.Add(23);
            al.Add(9);
            
            Console.WriteLine("Capacity: {0} ", al.Capacity);
            Console.WriteLine("Count: {0}", al.Count);
                      
            Console.Write("Content: ");
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.Write("Sorted Content: ");
            al.Sort();
            foreach (int i in al)
            {
                Console.Write(i + " ");
            }
            Console.WriteLine();
            Console.ReadKey();
        }
    }
}

ناتج مثال مصفوفة القائمة

Adding some numbers:
Capacity: 8
Count: 7
Content: 45 78 33 56 12 23 9
Content: 9 12 23 33 45 56 78








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

Wednesday, January 15, 2014

برمجة متقدمة سي شارب المجموعات أو التجميعات C# - Collections

 المجموعات أو التجميعات C# - Collections

برمجة متقدمة سي شارب المجموعات أو التجميعات C# - Collections

ماهي المجموعات أوالتجميعات؟

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

أنواع فئات المجموعات أو التجميعات واستخدامها

جميع فئات المجموعات أو التجميعات  تستخدم فضاء الاسماء system.collections .

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

انها تمثل الداخل أخيرا خارج أولا لكائن المجموعة ويعرف بالمكدس


تستخدم عندما نحتاج للوصول لعناصر نريدها الداخل أخيرا خارج  أولا.وعندما نحتاج أضافة عنصر فانها تسمى 
PUSHING
وعندما نريد حذف عنصر تسمى
popping

Queue
الطابور ويمثل الداخل أولا خارج أخيرا  لكائن المجموعة

تستخدم عندما نحتاج للوصول لعناصر الداخل أولا خارج أخير . عندما تستخدم لاضافة عنصر في القائمة فانها تستدعي 
enqueue
وعندما تريد حذف عنصر تستدعي
deque

BitArray
مصفوقة البث هي مصفوفة تمثل بالنظام الثنائي أما بقيمة 0 أو 1

تستخدم عندما تريد تخزين البثات وانت لا تعرف عدد البثات عموما. يمكنك الوصول للعناصر مصفوفة البتات للمجموعة باستخدام الفهرس العدد الصحيح ويبدا من الصفر














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