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

Sunday, May 4, 2014

أساسيات برمجة المواقع بال بي اتش بي معايير كتابة كود PHP Coding Standards

 معايير كتابة كود

 PHP Coding Standards

معايير كتابة كود  PHP Code Standards
معايير كتابة كود  PHP Coding Standards

معايير كتابة كود  PHP Coding Standards

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

وهذه أسباب استخدام معايير كتابة الكود

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

دليل معايير كتابة كود بي اتش بي PHP

  • طول سطر الكود والمسافات.

يجب أن  لا يزيد طول سطر الكود عن 75 الى 85 حرفا كما ان المسافات لا تستخدم أكثر من أربع مرات متتالية ولا يستخدم Tab
لانها تختلف من جهاز الى أخر.

  • جمل التحكم أوالجمل الشرطية

وهذه يتضمن (if , Switch while,for,do while,until,foreach,break,continue,if else)
يجب أن لا توجد مسافة بين الكلمة المحجوزة المستخدمة في جمل التحكم وذلك لتميزها عن استدعاء  الدوال.
استخدام الحاصرتين {} حتى وان كان شرط واحد أو خيار وحيد.

مثال على معايير كتابة كود الجمل الشرطية PHP


if ((condition1) || (condition2)) {
    action1;
} elseif ((condition3) && (condition4)) {
    action2;
} else {
    default action;
}

مثال على معايير كتابة كود الشرطية من نوع switch


switch (condition) {
case 1:
    action1;
    break;

case 2:
    action2;
    break;

default:
    defaultaction;
    break;
}

  • معايير كتابة كود الدالة أو ستدعاء الدالة أو الدوال

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

مثال على معيار استدعاء الدوال الدالة

$var = foo($bar, $baz, $quux);

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

function fooFunction($arg1, $arg2 = '')
{
    if (condition) {
        statement;
    }
    return $val;
}

  • التعليقات في البي اتش بي

يفضل استخدام التعليقات التي تستخدم في لغة السي وهو (/*  تعليقك هنا */) أو في لغة سي بلس بلس وهو (تعليقك هنا //).
لاينصح استخدام التعليقات المستخدمة في perl او shell وهو (تعليقك  هنا#).

  • وسم او تاج البي اتش بي PHP

  1. كما معلوم لدينا يوجد شكلان لوسم البي اتش بي الاول هو المعيار ويفضل استخدام لانه يمكن تحميل كود البي اتش بي على عدة انظمة ومنصات ليعمل بشكل افضل وهو ().
  2. الثاني وهو الوسم المختصر ويجب تفعيل خاصية استخدام الوسم المختصر من php.ini ليعمل وهو ().

  1. استخدام الحروف الصغيرة مع الاسم.
  2. استخدام _ الشرطة التحتية للفصل مابين الكلمات.
  3. المتغيرات العامة يجب ان تبداء بالحرف g.
  4. المتغرات  الساكنة تبداء بالحرف s.
  5. المتغيرات الثابتة تبدأ بالشرطة التحتية  _ .

  • جعل الدالة يمكن استخدامها مرة أخرى 
يجب أن لا تستخدم المتغيرات الساكنة داخل الدالة لانها تمنع من استخدام الدالة مرة أخرى.

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



لمتابعتي
تويتر: @aalmahallawi
IT Help Desk,
SEO Arabic Expert ,PHP,C#,ASPX
Al alami st
gaza -jabaliaGaza Strip
Palestine
Email :ahmed.almahallawi@gmail.com
DOB: 05/10/1984

No comments

Thursday, May 1, 2014

أساسيات برمجة المواقع بال بي اتش بي كود رفع الملفات PHP File Uploading

 بي  اتش بي كود رفع الملفات
 PHP File Uploading
 بي  اتش بي كود رفع الملفات PHP File Uploading

 بي  اتش بي كود رفع الملفات PHP File Uploading

يمكن استخدام كود البي اتش بي مع كود الهتمل HTML بحيث يسنح لك برفع الملفات الى السيرفر  من جهاز المستخدم.
لمعرفة المسار المؤقت الذي يتم عليه رفع الملفات  من خلال phpinfo.php  وفي حال كنت تعمل على localhost
فهذا الرابط http://localhost/?phpinfo=1  فابحث عن السطر upload_tmp_dir  حيث يخبرك المسار المؤقت وكذلك تجد upload_max_filesize أقصى حجم للملف يمكن رفعه ويمكن تغير هذه الاعدادات من ملف php.ini 

الخطوات التي تتم لرفع  ملف في البي اتش بي.

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

إنشاء صفحة رفع ملف أ و نموذج رفع الملفات.

هنا تم  استخدام الخاصية    multipart/form-data للتشفير وارسال جزء جزء والخاصية post لا تستخدم get في ارسال الملفات   
<html>
<head>
<title>File Uploading Form</title>
</head>
<body>
<h3>رفع ملف:</h3>
اختر الملف: <br />
<form action="/php/file_uploader.php" method="post"
                        enctype="multipart/form-data">
<input type="file" name="file" size="50" />
<br />
<input type="submit" value="Upload File" />
</form>
</body>
</html>


هكذا سيبدوا الكود رفع الملفات في  المتصفح


رفع ملف:
اختر الملف: 







هذا النموذج لن يعمل ولكن فقط تطبيق للكود السابق في المتصفح

إنشاء سكريبت رفع الملف بي اتش بي

توجد متغير في المتغيرات العامة في البي اتش بي واسمه $_FILES وهو عبارة عن دالة ثنائية مساعدة تستخدم لحفظ  المعلومات المتعلقة برفع الملف.وتحتوي على العديد من الخصائص وهي كالتالي.
  • $_FILES['file']['tmp_name']-اسم الملف المرفوع في المسار المؤقت
  • $_FILES['file']['name'] -الاسم الفعلي للملف المرفوع
  • $_FILES['file']['size'] - حجم الملف بالبايت
  • $_FILES['file']['type'] - نوع الملف
  • $_FILES['file']['error'] - كود الخطأ المرتبط بالملف المرفوع.
سيتم رفع في الملف الى المسار التالي /var/www/html في مثالنا وهذا الكود المرتبط بصفحة uploader.php
حيث test هو مجلد موجود في www

<?php
if( $_FILES['file']['name'] != "" )
{
   copy( $_FILES['file']['name'], "/wamp/www/test/test.txt" ) or 
           die( "Could not copy file!");
}
else
{
    die("No file specified!");
}
?>
<html>
<head>
<title>Uploading Complete</title>
</head>
<body>
<h2>Uploaded File Info:</h2>
<ul>
<li>Sent file: <?php echo $_FILES['file']['name'];  ?>
<li>File size: <?php echo $_FILES['file']['size'];  ?> bytes
<li>File type: <?php echo $_FILES['file']['type'];  ?>
</ul>
</body>
</html>

ناتج الكود السابق

Uploaded File Info:
  • Sent file: uploadedfile.txt
  • File size: 2003 bytes
  • File type: image/jpg

twitter @aalmahallawi




No comments

Saturday, April 26, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي ارسال البريد الالكتروني الاميل PHP Sending Emails

 بي اتش بي ارسال البريد الالكتروني الاميل
 PHP Sending Emails

 بي اتش بي ارسال البريد الالكتروني الاميل  PHP Sending Emails
 بي اتش بي ارسال البريد الالكتروني الاميل  PHP Sending Emails

إعدادات ال  بي اتش بي لإرسال البريد الالكتروني الاميل PHP Sending Emails

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

[mail function]
; For Win32 only.
SMTP = smtp.secureserver.net

; For win32 only
sendmail_from = ahmed.almahallawi@outlook.com

للمستخدمين لينكس
[mail function]
; For Win32 only.
SMTP = 

; For win32 only
sendmail_from = 

; For Unix only
sendmail_path = /usr/sbin/sendmail -t -i


إرسال نص بالبريد الاكتروني الاميل في البي اتش بي

لارسال نص بالبريد الالكتروني نستخدم الدالة ()mail وهذه الدالة لها باراميترات أي وسطاء سنوضحها في الجدول التالي.

الصيغة العامة لدالة أرسال البريد الالكتروني الاميل .

mail( to, subject, message, headers, parameters );

جدول الباراميترات للدالة () mail

الباراميترالوصف
toالبريد المرسل اليه اي الذي سيتقبل بريدك
subjectاسم  رسالة البريد اي عنوان الرسالة
messageالرسالة نفسها ويجب ان يكون طول السطر ان لا يتجاوز 70 حروف
 (\n)وستخدم
لبدء سطر جديد وهكذا
headersخيار اختياري مثل ارسال نسخة كربونية او مخفية
parameters
اختياري في حال كانت هناك باراميترات اخرى

مثال على ارسال بريد الكتروني نصي او اميل بالبي اتش بي php


<html>
<head>
<title>Sending email using PHP</title>
</head>
<body>
<?php
   $to = "xyz@somedomain.com";
   $subject = "This is subject";
   $message = "This is simple text message.";
   $header = "From:abc@somedomain.com rn";
   $retval = mail ($to,$subject,$message,$header);
   if( $retval == true )  
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>


مثال ارسال بريد الكتروني اميل يحتوي على هتمل كود html بالبي اتش بي php

<html>
<head>
<title>Sending HTML email using PHP</title>
</head>
<body>
<?php
   $to = "xyz@somedomain.com";
   $subject = "This is subject";
   $message = "<b>This is HTML message.</b>";
   $message .= "<h1>This is headline.</h1>";
   $header = "From:abc@somedomain.com rn";
   $header = "Cc:afgh@somedomain.com rn";
   $header .= "MIME-Version: 1.0rn";
   $header .= "Content-type: text/htmlrn";
   $retval = mail ($to,$subject,$message,$header);
   if( $retval == true )
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>

ارسال ملف مرفق attachment بالبي اتش بي من خلال البريد الالكتروني الاميل

توجد عدة خطوات يجب عملها قبل ارسال ملف مرفق بالبريد الالكتروني وهي.
  • اعداد الخاصية content-type في ال header الراس الى multipart/mixed.
  • تخصيص الملف ايضا بالخاصية boundaries.
  • ال boundaries يبدا بي علامتي -- ثم يتبع برقم يتم توليده باستخدام الدالة ()md5.
  • الملف المرفق يجب ترميزه باستخدام ()base64_encode 
  • لارسال افضل نستخدم دالة تقسيم الملف الى اجزاء ()chunk_split.
في المثال التالي بفرض لدينا ملف نصي اسمه ومساره كالتالي temp\test.txt\ ونريد ارساله كمرفق فالتالي كود الارسال.


<html>
<head>
<title>Sending attachment using PHP</title>
</head>
<body>
<?php
  $to = "xyz@somedomain.com";
  $subject = "This is subject";
  $message = "This is test message.";
  # Open a file
  $file = fopen( "/tmp/test.txt", "r" );
  if( $file == false )
  {
     echo "Error in opening file";
     exit();
  }
  # Read the file into a variable
  $size = filesize("/tmp/test.txt");
  $content = fread( $file, $size);

  # encode the data for safe transit
  # and insert rn after every 76 chars.
  $encoded_content = chunk_split( base64_encode($content));
  
  # Get a random 32 bit number using time() as seed.
  $num = md5( time() );

  # Define the main headers.
  $header = "From:xyz@somedomain.comrn";
  $header .= "MIME-Version: 1.0rn";
  $header .= "Content-Type: multipart/mixed; ";
  $header .= "boundary=$numrn";
  $header .= "--$numrn";

  # Define the message section
  $header .= "Content-Type: text/plainrn";
  $header .= "Content-Transfer-Encoding:8bitrnn";
  $header .= "$messagern";
  $header .= "--$numrn";

  # Define the attachment section
  $header .= "Content-Type:  multipart/mixed; ";
  $header .= "name="test.txt"rn";
  $header .= "Content-Transfer-Encoding:base64rn";
  $header .= "Content-Disposition:attachment; ";
  $header .= "filename="test.txt"rnn";
  $header .= "$encoded_contentrn";
  $header .= "--$num--";

  # Send email now
  $retval = mail ( $to, $subject, "", $header );
  if( $retval == true )
   {
      echo "Message sent successfully...";
   }
   else
   {
      echo "Message could not be sent...";
   }
?>
</body>
</html>







twitter @aalmahallawi


No comments

Sunday, April 20, 2014

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

الجلسات
 PHP Sessions

ماهي الجلسات PHP Sessions

الجلسات PHP Sessions هي عبارة  عن طريق تجعل البيانات قابلة للوصول اليها من خلال عدة صفحات على مستوى الموقع بالكامل.بمعنى تمنحك الصلاحية للدخول الى  المعلومات على صفحات الويب.
الجلسات PHP Sessions تقوم بانشاء ملف في المجلد - المسار المؤقت على السيرفر حيث يتم تسجيل متغيرات الجلسة فيها وقيمها.وسوف تكون البيانات متوفر لكل الصفحات التي على موقع عند زيارة الصفحات.
مكان ملف الجلسات PHP Sessions المؤقت يتم تحديده من خلال ملف الاعدادات php.ini  في السطر session.save_path
وقبل تحديد المسار يجب التاكد من وجود الملف وصحة مساره.

عند بدء الجلسات PHP Sessions تحدث الخطوات التالية

  • تقوم لغة البي اتش بي بانشاء معرف نصي مميز طوله 32 من سداسي عشر  مثل 3c7foj34c3jj973hjkop2fc937e3443
  • تقوم الكوكيز باستدعاء PHPSESSID  التى ارسلت الى جهاز المستخدم  ليحفظ معرف الجلسة المميز كما في الخطوة السابقة.
  • يتم انشاء ملف في مجلد الجلسات المؤقت يحمل نفس القيمة التي ارسلت للجهاز المستخدم.
عندما يريد سكريبت PHP استرداد القيمة من متغير الجلسة ال معرPHP تلقائيا تحصل على قيمة معرف الجلسة المميز من الكوكيز PHPSESSID ثم تبحث في الدليل الخاص ب مجلد الجلسات المؤقت عن الملف الذي يحمل نفس القيمة  والتحقق من صحة القيم من خلال مقارنة القيمتين.
الجلسة تنتهي عندما يفقد المستخدم المتصفح أو بعد مغادرة الموقع، سيقوم السيرفر بإنهاء الجلسة بعد مرور فترة محددة من الزمن، عادة 30 دقيقة .


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


بدء الجلسة في البي اتش بي Starting a PHP Session:

ِالجلسة تبدء عن طريق استدعاء الدالة session_start()  تقوم هذه الدالة بفحص هل الجلسة بدات ام لا في حال لم تبداء تقوم ببدء جلسة جديدة. يفضل استخدام هذه الدالة في بداية ملف  البي اتش بي.
يتم حفظ المتغيرات وقيمها في المصفوفة المساعدة $_SESSION[] ويمكن الوصول الهذه المتغيرات خلال فترة حياة الجلسة.

مثال على الجلسات في البي اتش بي 

في المثال التالي سيتم حفظ المتغيرات الجلسة في counter سنتخدم الدالة  isset()  لفحص هل تم حفظ المتغيرات في المصفوفة المساعدة ام لا.


<?php
   session_start();
   if( isset( $_SESSION['counter'] ) )
   {
      $_SESSION['counter'] += 1;
   }
   else
   {
      $_SESSION['counter'] = 1;
   }
   $msg = "You have visited this page ".  $_SESSION['counter'];
   $msg .= "in this session.";
?>
<html>
<head>
<title>بدء الجلسة</title>
</head>
<body>
<?php  echo ( $msg ); ?>
</body>
</html>

إنهاء أو تدمير الجلسة Destroying a PHP Session:

  كما توجد دالة لبدء الجلسة ايضا توجد دالة لانهاء او ازالة او تدمير الجلسة session_destroy() وكذلك توجد دالة لازالة القيمة من المصفوفة المساعدة وهي unset().


<?php
   unset($_SESSION['counter']);
?>


تشغيل بدء الجلسة تلقائيا Turning on Auto Session:

ليس بالضرورة بدء الجلسة عندما ياتي الزائر لموقعك فيمكنك بدء الجلسلة تلقائية بتشغيل بدء الجلسة تلقائيا من خلال ملف الاعدادات php.ini وذلك من خلال تغير القيمة الى واحد في السطرsession.auto_start .

الجلسات بدون كوكيزSessions without cookies:

  يمكن بدء الجلسات بدون كوكيز عندما يكون متصفح المستخدم لا يسمح بحفظ الكوكيز على الجهاز. فالطريقة هنا ارسال معرف الجلسة الى المتصقح باستخدام SID.نستخدم الدالة htmlspecialchars  وهي تستخدم لمنع الهجوم على الموقع باستخدام  xss. 

مثال


<?php
   session_start();

   if (isset($_SESSION['counter'])) {
      $_SESSION['counter'] = 1;
   } else {
      $_SESSION['counter']++;
   }

   $msg = "You have visited this page ".  $_SESSION['counter'];
   $msg .= "in this session.";
   echo ( $msg );?>
<p>
To continue  click following link <br />
<a  href="test.php?<?php echo htmlspecialchars(SID); ?>">aaa</a>
</p>








إذا أعجبك المقال فتابعني وشكرا
تويتر aalmahallawi@


No comments

Wednesday, February 12, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي الكوكيز او الكعكات PHP Cookies

 الكوكيز او الكعكات PHP Cookies

 الكوكيز او الكعكات PHP Cookies

ماهي الكوكيز أو الكعكات  PHP Cookies ؟

الكوكيز أو الكعكات هي عبارة عن ملف نصي يخزن على حهاز المستخدم تستخدم لحفظ بعض المعلومات التي يمكنها تتبع المستخدم  لتعريفه وحفظ بعض المعلومات.

الخطوات التالية التي تتم لحفظ المعلومات عن طريق الكوكيز

  1. سكريبت السيرفر يرسل مجموعة من الكوكيز الى متصفح المستخدم .مثلا اسم المستخدم او العمر او رقم المستخدم الى اخره.
  2. يقوم المتصفح بحفظ المعلومات على جهاز المستخدم في صورة  كوكيز.
  3. في المرة التالية عندما يقوم المستخدم بتطلب الصفحة للموقع يقوم المتصفح بارسال الكوكيز الي السيرفر فيقوم السيرفر بتعريف المستخدم مثل الدخول التلقائي للموقع.

بنية الكوكيز

يتم ارسال الكوكيز عبر برتوكول http header ويمكن ايضا ارسال البيانات عبر ملفات الجافا سكريبت للمتصفح.

HTTP/1.1 200 OK
Date: Fri, 04 Feb 2000 21:03:38 GMT
Server: Apache/1.3.9 (UNIX) PHP/4.0b3
Set-Cookie: name=xyz; expires=Friday, 04-Feb-07 22:03:38 GMT; 
                 path=/; domain=tutorialspoint.com
Connection: close
Content-Type: text/htm

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

GET / HTTP/1.0
Connection: Keep-Alive
User-Agent: Mozilla/4.6 (X11; I; Linux 2.2.6-15apmac ppc)
Host: zink.demon.co.uk:1126
Accept: image/gif, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Cookie: name=xyz

البي اتش بي PHP تقوم بالوصول الى الكوكيز عن طريق متغيرات البيئة عن طريق $_COOKIE أو عن طريق $HTTP_COOKIE_VARS[]  الذي يحمل اسم الكوكيز الاسم والقيمة $HTTP_COOKIE_VARS["name"].

إعدادات الكوكيز في البي اتش بي

لاعداد الكوكيز نستخدم الدالة  setcookie()  وهي دالة تحتاج الي 6 باراميتر ويجب استخدام الدالة قبل وسم   

setcookie(name, value, expire, path, domain, security);


تفاصيل الباراميترات للدالة setcookie

  • Name - يتم حفظ اسم الكوكيز ويخزن في المتغيرات البيئية Environment Variable ويتم استدعاءه بالدالة HTTP_COOKIE_VARS وغالبا ما يسخدم هذا المتغير للوصول الى الكوكيز.
  • Value يستخدم لحفظ القيم والمحتويات التي تريد انت تخزينها.
  • Expiry  يستخدم لتحديد صلاحية الكوكيز وفي حال لم يتم تحديد التاريخ فان صلاحيته تنتهي وقت اغلاق المتصفح.
  • Path تحدد المسار للكوكيز الذي يكون لديه صلاحية.بحيث ان الشرطة المائلة تعني بان الكوكيز صالح لكافة المسارات.
  • Domain يستخدم هذا لتحديد اسم النطاق الذي سيتخدم هذا الكوكيز ويجب ان يحتوي على اسم مفصول على الاقل بنقطتين وكل الكوكيز صالح فقط للمستضيف والنطاق التي أنشأت لها.
  • Security يمكن وضع قيمة تحمل 1 وتعني يجب ارسال الكوكيز عبر اتصال أمن HTTPS اما صفر فعن طريق البرتوكول العادي.

مثال على الكوكيز 


<?php
   setcookie("name", "John Watkin", time()+3600, "/","", 0);
   setcookie("age", "36", time()+3600, "/", "",  0);
?>
<html>
<head>
<title>Setting Cookies with PHP</title>
</head>
<body>
<?php echo "Set Cookies"?>
</body>
</html>


الوصول للكوكيز


<html>
<head>
<title>Accessing Cookies with PHP</title>
</head>
<body>
<?php
echo $_COOKIE["name"]. "<br />";
/* is equivalent to */
echo $HTTP_COOKIE_VARS["name"]. "<br />";

echo $_COOKIE["age"] . "<br />";
/* is equivalent to */
echo $HTTP_COOKIE_VARS["name"] . "<br />";
?>
</body>
</html>

الدالة isset تستخدم لفحص الكوكيز هل موجود ام لا

<html>
<head>
<title>Accessing Cookies with PHP</title>
</head>
<body>
<?php
  if( isset($_COOKIE["name"]))
    echo "Welcome " . $_COOKIE["name"] . "<br />";
  else
    echo "Sorry... Not recognized" . "<br />";
?>
</body>
</html>

حذف الكوكيز


<?php
  setcookie( "name", "", time()- 60, "/","", 0);
  setcookie( "age", "", time()- 60, "/","", 0);
?>
<html>
<head>
<title>Deleting Cookies with PHP</title>
</head>
<body>
<?php echo "Deleted Cookies" ?>
</body>
</html>

Ahmed Ata Almahallawi
Freelancer
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 
13/2/2014
No comments

Monday, February 10, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي الدوال PHP Functions

الدوال  PHP Functions

الدوال  PHP Functions

الدوال في البي اتش بي لا تختلف عن اي لغة برمجية .فمميزات الدوال في البي اتش بي هي نفسها في اي لغة مثل سي شارب #C.

مميزات الدوال الدوال  PHP Functions

  • اختصار الكود مما يسمح باستخدامه اكثر من مرة في اكثر من مكان.
  • يسهل عملية تتبع الاخطاء.
  • يجعل الكود سهل القراءة ومفهوم ومنسق.
لقد استخدمنا مسبقا في درس التعامل مع الملفات دوال مثل ()fopen()- fclose فهي دوال مبنية ضمن لغة البي اتش بي ولكن البي اتش بي تعطيك الامكانية لبناء دوال خاص بك باستخدام الكلمة المحجوزة function .
يلزمك التالي:-

  • بناء الدالة Functions.
  • استدعاء الدالة Functions.
لغة البي لتش بي لغة غنية بالدوال وتعتبر أكثر إنى من أي لغة برمجية فهى لغة توفر على المبرمج عناء برمجة الكثير من الدوال فهذه الغة تحتوي على أكثر من 1000 دالة برمجية جاهزة. يمكنك مراجعة مرجع البي اتش بي للدوال الجاهزة.

إنشاء الدوال البرمجية في البي اتش بي PHP.


<html>
<head>
<title>Writing PHP Function</title>
</head>
<body>

<?php
/* Defining a PHP Function */
function writeMessage()
{
  echo "You are really a nice person, Have a nice time!";
}
/* Calling a PHP Function */
writeMessage();
?>
</body>
</html>

ناتج الدالة السابقة PHP 

You are really a nice person, Have a nice time!


تمرير الوسطاء أو الباراميترات عبر الدالة PHP Functions with Parameters

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

مثال على الدوال التي تمرر وسطاء أو باراميترات 

<html>
<head>
<title>Writing PHP Function with Parameters</title>
</head>
<body>

<?php
function addFunction($num1, $num2)
{
  $sum = $num1 + $num2;
  echo "Sum of the two numbers is : $sum";
}
addFunction(10, 20);
?>
</body>
</html>

ناتج الدوال التي تمرر باراميترات أو سطاء


Sum of the two numbers is : 30


الدوال التي تمرر وسطاء ذات المرجع أو مرجعية القيمة PHP

<html>
<head>
<title>Passing Argument by Reference</title>
</head>
<body>
<?php
function addFive($num)
{
   $num += 5;
}

function addSix(&$num)
{
   $num += 6;
}
$orignum = 10;
addFive( &$orignum );
echo "Original Value is $orignum<br />";
addSix( $orignum );
echo "Original Value is $orignum<br />";
?>
</body>
</html>

ناتج الدوال ذات مرجعية القيمة

Original Value is 15
Original Value is 21 

إسناد قيمة افتراضية في الدالة التي تمرر باراميتر

<html>
<head>
<title>Writing PHP Function which returns value</title>
</head>
<body>

<?php
function printMe($param = NULL)
{
   print $param;
}
printMe("This is test");
printMe();
?>

</body>
</html>

ناتج دالة التي تمرر القيمة الافتراضية PHP


This is test

استدعاء الدالة ديناميكية

<html>
<head>
<title>Dynamic Function Calls</title>
</head>
<body>
<?php
function sayHello()
{
   echo "Hello<br />";
}
$function_holder = "sayHello";
$function_holder();
?>
</body>
</html>

ناتج استدعاء الدالة التي تمرر قيمة ديناميكيا 


Hello

Ahmed Ata Almahallawi
Freelancer
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 
11/2/2014

No comments

Saturday, February 8, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي التعامل مع الملفات PHP Files I/O

 التعامل مع الملفات PHP Files  I/O

أساسيات البرمجة  برمجة المواقع بي اتش بي التعامل مع الملفات PHP Files  I/O

 التعامل مع الملفات PHP Files  I/O

في هذا الدرس سيتم شرح الدوال التي تتعامل مع الملفات وهي دوال فتح الملفات والكتابة على الملفات وقراءة الملفات وإغلاق الملفات.

سيتم  التعامل مع الدوال التالية وسيتم دراسة خصائص هذه الدوال.

  • دوال فتح الملفات Opening a file
  • دوال القراءة من الملفات Reading a file
  • دوال الكتابة للملفات Writing a file
  • دوال إغلاق الملفات  Closing a file

أولا دوال فتح الملفات ()fopen
تستخدم دالة ال ()fopen لفتح الملفات إما للقراءة من الملفات أو الكتابة على الملفات.دالة فتح الملفات ()fopen تحتاج الى وسيطان أو باراميتران الاول يحتوي اسم الملف المراد فتحه والثاني وضعية الملف المراد فتحه Mode.

جدول ال Mode لدالة فتح الملفات ()fopen

Modesالوصف
rفتح الملف في وضعية القراءة فقط يبدأ القراءة من بداية الملف
r+فتح الملف في وضعية القراءة والكتابة يبدأ القراءة أو المكتابة من بداية الملف
wفتح الملف في وضعية الكتابة فقط ويقوم بمسح المحتويات والكتابة وفي حال كان الملف غير موجود يقوم بانشاء  ملف جديد
w+فتح الملف في وضعية الكتابة والقراءة ويقوم بمسح المحتويات والكتابة وفي حال كان الملف غير موجود يقوم بانشاء ملف جديد
aإلحاق. فتح وكتابة  إلى نهاية الملف أو إنشاء ملف جديد إذا لم يكن موجودا
a+قراءة / إلحاق. المحافظة على محتوى الملف عن طريق الكتابة إلى نهاية الملف
x
الكتابة فقط. بإنشاء ملف جديد. ويرجع خطأ إذا كان الملف موجود مسبقا
x+
الكتابة أوالقراءة. بإنشاء ملف جديد. ويرجع خطأ إذا كان الملف موجود مسبقا

مثال على فتح الملفات


<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>

</body>
</html>


دالة إغلاق الملفات

دالة  إغلاق الملفات بعد فتحها تستخدم لغلق الملف المستخد فهي تحتاج الى اسم المؤشر وفي حال تم الاغلاق بنجاح تعيد قيمة صحيحة 
مالم خطأ.
<?php
$file = fopen("test.txt","r");

//كود

fclose($file);
?>

دالة  الوصول لاخر الملف () feof

تستخدم هذه الدالة لفحص هل تم الوصول الى نهاية الملف اي اخر سطروحرف في الملف.
if (feof($file)) echo "End of file";









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

Sunday, February 2, 2014

أساسيات البرمجة برمجة المواقع بي اتش بي تضمين الملفات PHP File Inclusion include

 تضمين الملفات   PHP File Inclusion includeأساسيات البرمجة  برمجة المواقع بي اتش بي  تضمين الملفات   PHP File Inclusion include

ماهو تضمين الملفات  PHP File Inclusion؟

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

توجد عدة طرق لتضمين الملفات في البي اتش بي.


  • تضمين الملفات باستخدام الدالة include()
  • تضمين الملفات باستخدام الدالة require()
  • تضمين الملفات باستخدام الدالة require_once()
  • تضمين الملفات باستخدام الدالة include_once()


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

تضمين الملفات باستخدام ()include.

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

نفترض بان الملف التالي نريد تضمينه في ملف أخر على سبيل ان اسم الملف menu.php

<a href="http://devlopertechnology.blogspot.com/">Home</a> - 
<a href="http://devlopertechnology.blogspot.com/search/label
/advance-csharp">Advance C#</a> - 
<a href="http://devlopertechnology.blogspot.com/search/label
/PHP%20%D8%A7%D9%84%20%D8%A8%D9%8A%20%D8%A7%D8%AA%D8%B4%20%D8%A8%D9%8A">
PHP</a> - 
<a href="http://devlopertechnology.blogspot.com/search/label
/HTML%20%D9%84%D8%BA%D8%A9%20%D8%A7%D9%84%20%D9%87%D8%AA%D9%85%D9%84">
HTML</a> <br />

تضمين الملفات ملف menu.php في  الملف التالي

<html>
<body>
<?php include("menu.php"); ?>
<p>This is an example to show how to include PHP file!</p>
</body>
</html>


تضمين الملف باستخدام الدالة ()require

تضمين الملفات باستخدام الدالة require يشبه تماما تضمين الملفات باستخدام الدالة include  الا ان الاختلاف يكون فقط بان الدالة  require عندما تقوما بتضمين ملف لا يمكن تحميله او به اخطاء يوقف تنفيذ الملفالذي قام بعمل تضمين ملف ويعرض رسالة خطأ قاتل fatal error.
يمكنك تطبيق المثال السايق فقط قم باستبدال include ب require والناتج واحد







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