الأحد، 27 ديسمبر 2015

خلق قاعدة بيانات وانشاء جدول mysql

سنتطرق في هذا الموضوع كيفية عمل قاعدة بيانات mysql وعملية انشاء قاعدة بيانات mysql تتم بطريقتين :
1- من خلال برنامج phpmyadmin الموجود ضمن برنامج السيرفر المحلي وهو اسهل طريقة .
2- من خلال استعمال اكواد mysql وphp .

-----------------------------------------
الطريقة الاولى 



----------------------------------------------------------
الطريقة الثانية
كما تعلم بان ملق قاعدة البيانات هو عبارة عن مستودع كبير لخزن البينات ويكون خزن البيانات فيه من خلال جدول او مجموعة جداول ,والجدول عبارة عن مجموعة من الحقول ( اعمدة ) والاسطر تمثل القيود لذلك الجدول .

المثال التالي سوف يوضح عملية خلق ملف قاعدة بيانات :

<?php
$servername = "localhost";يخص عنوان السيرفر
$username = "username";اسم الدخول الى السيرفر
$password = "password";الرمزالسري للسيرفر

// انشاء اتصال
$conn = new mysqli($servername, $username, $password);
// Check connectionالتاكد من الاتصال 
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);


// Create databaseانشاء ملف قاعدة بيانات
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
    echo "Database created successfully";
} else {
    echo "Error creating database: " . $conn->error;
}

$conn->close();اغلاق قاعدة البيانات
?>
------------------------------------------------
المثال التالي يوضح لنا عملية انشاء جدول لملف قاعدة البيانات التي تم انشائها سابقا راجع المثال اعلاه ويتضمن الجدول التالي حقول هي :
1- id:ويمثل حقل التسلسل وتم تحديد نوعه UNSIGNED AUTO_INCREMENT PRIMARY KEY بمعنى انه تسلسل رقمي اوتماتيكي وكذلك يعتبره المفتاح الرئيسي للجدول 
2-firstname:حقل الاسم الاول VARCHAR(30) NOT NULL وهو من نوع اسمي واقصى حد للخانة هي 30 حرف ويجب ان لا يكون فارغ not null.
3- lastname:حقل الاسم الاخير VARCHAR(30) NOT NULL 
4-email:حقل يتضمن عنوان البريد الالكتروني ( VARCHAR(50 .

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";اسمقاعدة البيانات التي سنعمل عليها وهي التي تم عملها مسبقا راجع المثال في اعلاه

// Create connectionاجراء اتصال بملف قاعدة البيانات 
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);


// sql to create table      (myguests)انشاء جدول المسمى
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, 
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

$conn->close();
?>





الاثنين، 14 ديسمبر 2015

PHP Connect to MySQL اجراء اتصال

عمل اتصال بين قاعدة بيانات MySql و PHP
ماذا احتاج للقيام بعملية الربط بين لغة PHP و MySql؟
الجواب:انت بحاجة الى تنصيب برنامج سيرفر محلي لواحد من البرامج التالية
1- سيرفرالجمل وهو سيفر محلي مترجم الى اللغة العربية تحميل من هنا 
2- او سيرفر Wamp التحميل من هنا
3- اوسيرفر  XAMPP التحميل من هنا 


بعد عملية انشاء قاعدة بيانات باحد السيرفرات المحلية اعلاه نقوم بربط قاعدة البيانات بلغة PHP. سنستعمل دالات مبنية في لغة PHP و هذا ما يسهل الربط و يجعله بسيط.
سوف نقوم بانشاء ربط بين ملف قاعدة بيانات MySql ولغة php من خلال المثال التالي :


الان نقوم بشرح عمل كل خطوة 


في السطر 4 : نضع اسم host$ و هو في الغالب localhost.

في السطر 5 : هذا اسم المستخدم و في الغالب يكون root، لكن تحقق من ذالك.

في السطر 6 : هنا نضع كلمة المرور، لكن في الخادم المحلي قد لا تكون كلمة مرور و في هذه الحالة، نترك هذا المتغير فارغا.

في السطر 7 : هنا نضع اسم قاعدة البيانات التي نود الإتصال بها.

في السطر 9 : الدالة ()mysql_connect تهيئ PHP للإتصال بقاعدة البيانات و نضع كل من الهوست و اسم المستخدم و كلمة المرور، قد تلاحظ أنني وضعت شيء آخر، هذا يساعدنا في حالة لم نضع المعلومات المطلوبة الصحيحة فهو يتكلف بالتحقيق من كل المعلومات أنها صحيحة، إن لم تكن كذلك فهو يرسل رسالة خطأ للمتصفح.

في السطر 10 : الدالة ()mysql_select_db تتكلف بإيصال PHP بقاعدة البيانات المطلوبة و إن لم تجد قاعدة البيانات فسوف ترسل رسالة خطأ للمتصفح.

هذا كل ما يتعلق بتهييء قاعدة البيانات، بقي لنا شيء واحد هو أن ندعو ملف config.php إلى الملف الذي نريد أن نستعمله مع قاعدة البيانات، لنأخذ مثال بسيط على ذلك :


كل ما علينا فعله هو استعمال الدالة ()require أو الدالة ()include لجلب ملف config.php ثم نقوم باستخراج المعلومات من قاعدة البيانات، و يمكنك أيضا أن تفعل ما تريده من تحديث أو إدراج معلومات جديدة لقاعدة البيانات.


PHP MySQL Databaseقاعدة بيانات

يمكن الارتباط والتعامل مع قاعدة بيانات mysql من خلال لغة PHP

ما هي MySql؟

  •  هو نظام قاعدة البيانات المستخدمة على شبكة الإنترنت
  •  هو نظام قاعدة البيانات التي يتم تشغيلها على جهاز الخادم
  •  هي مثالية للتطبيقات الصغيرة والكبيرة
  •  هو سريع جدا وموثوق بها وسهلة الاستخدام
  • يستخدم  SQL القياسية
  •  يجمع على عدد من المنصات
  •  هو مجاني لتحميل واستخدام
  • تم تطوير MySql، توزيع، وبدعم من شركة أوراكل
  • يدعى MySql بعد ابنة المؤسس المشارك مونتي Widenius ل: بلدي
يتم تخزين البيانات في قاعدة بيانات MySql في الجداول.
جدول عبارة عن مجموعة من البيانات ذات الصلة، ويتألف من الأعمدة والصفوف.


قواعد بيانات مفيدة لتخزين المعلومات بشكل متقاطع . قد يكون لدى الشركة قاعدة بيانات مع الجداول التالية:
  • Employees
  • Products
  • Customers
  • Orders
لمعرفة كيفية عمل قاعدة بيانات في Mysql من خلال احد برامج السيرفر المحلي ادخل على هذا  الفديو

--------------------------------------------------------------------------------------------

PHP + MySQL Database System

تعمل قاعدة بيانات MySql جنبا الى جنب مع PHP ضمن نظام ويندوز او يونكس 



Database Queries

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

مثال عن الاستعلام  (باستخدام SQL القياسية):

SELECT LastName FROM Employees
يشير هذا الاستعلام على استدعاء حقل الاسم الاخير من جدول Employees الموظفين




الأحد، 13 ديسمبر 2015

انشاء او كتابة ملف File Create/Write

في هذا الفصل سوف تتعلم كيفية إنشاء وكتابة  ملف على الخادم  .

دالة   (  ) PHP Create File - fopen
تعمل هذه الدالة على انشاء ملف جديد في php
$myfile = fopen("testfile.txt", "w")

مثال //

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

لاحظ في كل مرة يتم اضافة نص معين سيتم توجيهه الى متغير $txt وبعدها يتم ادراج دالة الكتابة من اجل اضافة النص الى الملف وبعد الانتهاء من الكتابة على الملف يتم اغلاق الملف 
fclose($myfile);

السبت، 5 ديسمبر 2015

File Open/Read/Close

العلميات على الملفات File Open/Read/Close
عمليات الفتح والقراءة والاغلاق

دالة فتح الملف ( ) Open File - fopen
توفر لنا هذه الطريقة الكثير من الخيارات 
نفترض ان الملف هو "webdictionary.txt" 
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language

fopen("webdictionary.txt", "r")
حيث يمثل المعامل الاول اسم الملف المراد فتحه ,والمعامل الثاني R هو هي تحديد حالة الملف ويكون على عدة حالات هي :


ملاحظة : اذا كانت الوظيفة fopen() غير قادرة على فتح ملف معين عندها ستعود القيمة 0 .
مثال1//
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);
?>

دالة القراءة ( ) Read File - fread
دالة قراءة الملف المفتوح حيث يمثل المعامل الاول اسم الملف ,والمعامل الثاني الحد الاقصى لقراءة عدد البايتات للملف 
fread($myfile,filesize("webdictionary.txt"));

دالة اغلاق للملف ( )Close File - fclose
تستخدم هذه الدالة لاغلاق الملف المفتوح
<?php
$myfile = fopen("webdictionary.txt", "r");
// some code to be executed....
fclose($myfile);
?>
دالة القراءة لسطر واحد من الملف ( )Single Line - fgets
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
echo fgets($myfile);
fclose($myfile);
?>


فحص آخر الملف  ( ) feof

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

ملاحظة : لايمكنك قراءة الملفات المفتوحة من خلال w و a و x .
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);
?>


قراءة الملف كلمة بكلمة    ( ) fgetc
تستخدم الوظيفة  ( )fgetc لقراءة كلمة واحدة من الملف .

ملاحظة : بعد استخدام هذه الوظيفة سينتقل المؤشر للكلمة الثاني .
<?php
$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one character until end-of-file
while(!feof($myfile)) {
  echo fgetc($myfile);
}
fclose($myfile);
?>








معالجة الملف File Handling

التعامل مع الملف هو جزء مهم من أي تطبيق ويب. غالبا ما تحتاج إلى فتح ومعالجة ملف لمختلف المهام.
معالجة الملفات PHP Manipulating Files
وهي تشمل عدة وظائف لخلق، والقراءة، وتحميل، وتحرير ملفات


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

PHP readfile() Function
عمل هذه الدالة يقرأ ملف ويكتب إلى المخزن المؤقت للإخراج
نفترض لدينا ملف نصي يدعى "webdictionary.txt"، المخزنة على الخادم، الذي يبدو مثل هذا
AJAX = Asynchronous JavaScript and XML
CSS = Cascading Style Sheets
HTML = Hyper Text Markup Language
PHP = PHP Hypertext Preprocessor
SQL = Structured Query Language
SVG = Scalable Vector Graphics
XML = EXtensible Markup Language
لقراءة الملف والكتابة إلى المخزن المؤقت للإخراج كما يلي

<?php
echo readfile("webdictionary.txt");
?>

الأربعاء، 2 ديسمبر 2015

تضمين الملفات Include Files

Include Files

من أهم مزايا لغات السيرفر مثل  PHP  القدرة على استخدام التضمين ( include ) و هو استخدام الكود الموجود فى صفحة من خلال صفحة أخرى.

عملية تضمين وطلب البيانات PHP include and require Statements
فمن الممكن ادراج محتوى ملف PHP واحد في ملف PHP آخر (من قبل خادم ينفذ ذلك)، مع جملة تضمين أو طلب .
يوفر الكثير من العمل. هذا يعني أنه يمكنك إنشاء رأس أو تذييل الصفحة أو ملف القائمة موحد لجميع صفحات الويب الخاصة بك. ثم، عندما يحتاج رأس إلى تحديث، يمكنك تحديث فقط رأس يتضمن الملف.

الصيغة العامة :
include 'filename';

or

require 'filename';
مثال خاص بالتضمين 
نفترض لدينا ملف تذييل معيار يسمى "footer.php"، التي تبدو مثل هذا:

<?php
echo "<p>Copyright &copy; 1999-" . date("Y") . " W3Schools.com</p>";
?>

لتضمين الملف تذييل في صفحة، استخدم جملة التضمينلاستدعاء الملف  'footer.php'

<html>
<body>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>

</body>
</html>
مثال2// نفترض لدينا ملف القائمة القياسية تسمى "menu.php":
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
والان سوف نقوم باستدعاء الملف "menu.php" 
<html>
<body>

<div class="menu">
<?php include 'menu.php';?>
</div>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>

</body>
</html>

مثال3//نفترض لدينا ملف يسمى "vars.php"، مع بعض المتغيرات محددة:
<?php
$color='red';
$car='BMW';
?>
سنقوم باستدعاء هذا الملف "vars.php"
<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>

</body>
</html>

الفرق بين include vs. require
 في داله require اذا لم يكن الملف المطلوب موجوداً ويتعذر فتحه فسيتوقف الملف البرمجي عند هذا الأمر ولا يتم تنفيذ الملف ويخرج هذا الخطأ .
اما في دالة include فيسخرج لنا خطأ وسيتم فتح باقي الملف البرمجي
مثال4// سنستخدم دالة include في استدعاء ملف غير موجود ولاحظ نوع الخطا الذي سيخرج 
<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>

</body>
</html>

مثال 5// سنستخدم دالة require ولاحظ انه سيتم فقط تنفيذ الجانب الصحيح ولا يخرج لنا رسالة خطاء 
<html>
<body>

<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>

</body>
</html>