منتدى العرب التعليمى
أهلاً وسهلاً بأخي


أسعدنا تواجدك بيننا على أمل أن تستمتع وتستفيد
وننتظر مشاركاتك وتفاعلك
فمرحباً بك بين إخوانك وأخواتك
ونسأل الله لك التوفيق والنجاح والتميز
الــــــــــفـــــــــــر عــــــــــــــون الـــمــــصــــــر ى
منتدى العرب التعليمى
أهلاً وسهلاً بأخي


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

منتدى العرب التعليمى

منتدى العرب التعليمى تعليمى شامل
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 الدرس الثالث

اذهب الى الأسفل 
كاتب الموضوعرسالة
الويب المصرى
الباشا صاحب المنتدى
الباشا صاحب المنتدى
الويب المصرى


عدد المساهمات : 434
تاريخ التسجيل : 14/11/2010
العمر : 37

الدرس الثالث  Empty
مُساهمةموضوع: الدرس الثالث    الدرس الثالث  Emptyالسبت نوفمبر 20, 2010 11:23 pm

[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذه الصورة]



الجزء الثالث يتكلم عن كيفية إضافة النصوص الى قواعد البيانات .


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


عموما هالحين طال عمرك روح لمجلد السيرفر اللي راكب بجهازك وانشيء مجلد جديد فلنفرض ان إسم المجلد سيكون story ثم اضف بداخل المجلد مجلد ثاني بإسم admin وهذا المجلد سيتم وضع جميع ملفات التحكم بالسكربت ان شاء الله .


بما أننا قمنا بزراعة هذه الجداول في قاعدة البيانات
كود :

CREATE TABLE `story_cat` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(99) NOT NULL default '',
`image` varchar(99) NOT NULL default '',
`sub` int(10) NOT NULL default '0',
`order_cat` int(10) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;

CREATE TABLE `story` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(255) NOT NULL default '',
`text` longtext NOT NULL,
`cat` int(11) NOT NULL default '0',
`writer` varchar(255) NOT NULL default '',
`vis` int(11) default '0',
`vote` int(11) NOT NULL default '0',
`count` int(11) NOT NULL default '0',
`date` varchar(255) NOT NULL default '0',
`order_story` int(11) NOT NULL default '0',
PRIMARY KEY (`id`)
) TYPE=MyISAM ;


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

>>>>>> هيا فلــنعمل ملف إتصال بقاعدة البيانات :
بمجلد story انشيء ملف php بإسم config.php وسنكتب به كود الإتصال بقاعدة البيانات .
وهو كالتالي :
كود :

<?
$localhost = "localhost";
$userdb = "root";
$passdb = "";
$namedb = "story";
$connect = @mysql_connect($localhost,$userdb,$passdb)
or die ("no connect database");
$xx= @mysql_select_db ($namedb,$connect) or die ("no select database");
?>


المتغير $localhost هو إسم السيرفر وغالبا يأتي اسمه localhost .
المتغير $userdb هو إسم مستخدم قاعدة البيانات .
المتغير $passdb هو الرقم السري لقاعدة البيانات .
المتغير $namedb هو إسم قاعدة البيانات .

أما المتغير $connect فلا تغير به شي وهو يحتوي على الداله mysql_connect الخاصه في الاتصال في قاعدة البيانات وايضا المتغير $xx لاتغير به شيء وهو يحتوي على الدالة mysql_select_db بحيث يتم تحديد إسم القاعدة المستخدمه .

وهكذا إنتهينا من كتابة ملف الاتصال بقاعدة البيانات config.php .

==============

والآن بمجلد admin انشيء ملف بإسم section.php وهو خاص بإضافة الأقسام لقاعدة البيانات :
قم بعمل نموذج إدخال بيانات يحتوي حقول جدول الأقسام الذي بالقاعدة !!

إليك بالنموذج كاملا :
كود :

<form method="post" action="section_insert.php">
<div align="center">
<center>
<table border="1" cellpadding="2" style="border-collapse: collapse" bordercolor="#111111" width="98%" id="AutoNumber1" dir="rtl">
<tr>
<td width="100%" colspan="2">
<p align="center">إضافة قسم جديد</td>
</tr>
<tr>
<td width="20%">إسم القسم :</td>
<td width="80%"><input size="60" name="name"></td>
</tr>
<tr>
<td width="20%">صورة القسم :</td>
<td width="80%"><input size="60" name="image" dir="ltr"></td>
</tr>
<tr>
<td width="20%">ترتيب القسم :</td>
<td width="80%"><input size="60" name="order_cat"></td>
</tr>
<tr>
<td width="20%">قسم رئيسي أو فرعي :</td>
<td width="80%">
<select size="1" name="sub">
<OPTION value="0" selected>قسم رئيسي</OPTION>
<?php
include("../config.php");
$sql = mysql_query ("SELECT id,name FROM story_cat where sub='0' order by id desc")
or die ("error");
while($cat=mysql_fetch_array($sql))
{
echo "<OPTION value='$cat[id]'>$cat[name]</OPTION>";
}
?>
</select>
</td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><input type="submit" value="إضافة" name="xxx"></td>
</tr>
</table>
</center>
</div>
</form>



نقوم بشرح النموذج بإختصار :
السطر الأول للكود هو :

كود :

<form method="post" action="section_insert.php">



بحيث ان طريقة ارسال البيانات هي post أي ارسال البيانات مباشرة من الخانات الموجوده .
وأما الـ action وهي الصفحة التي يتم توجيه البيانات لها وفي مثالنا تم توجيهها الى الصفحه section_insert.php يعني لازم ننشيء ملف جديد بإسم section_insert.php ونكتب فيه أكواد الاستقبال للبيانات .>> سنتكلم به لاحقا .

حقول النص المكتوبه والمتمثله في اسم القسم وصورة القسم وترتيب القسم تكتب هكذا :

كود :

<input size="60" name="name">
<input size="60" name="image">
<input size="60" name="order_cat">


مايهمنا في هذا الكود هو اسم الحقل name !!
شوف أسماء الحقول اللي بالكود هي name,image,order_cat هي التي يتم استخدامها في كود استقبال البيانات في صفحة ادخال البيانات للقاعدة ...... أعتقد تم فهم السالفه .


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

فرضا اضفنا قسم بإسم
(( قصص إسلاميه ويحمل المفتاح الاساسي 1 )) >> قسم رئيسي .
وقسم آخر :
(( قصص واقعية ويحمل المفتاح الاساسي 2 )) >> قسم رئيسي .
ثم إضفنا قسم جديد مثلا سميناه (( قصص الصحابه )) ثم اخترنا من القائمه القسم
((قصص إسلاميه )) وهكذا سيتم عرض قسم قصص الصحابه داخل قسم قصص إسلاميه ... وهكذا

ووأما الاستعلام الخاص فهو بالكود السابق وسنفصله تفصيلا :
كود :

<?
include("../config.php");
$sql = mysql_query ("SELECT id,name FROM story_cat where sub='0' order by id desc")
or die ("error");
while($cat=mysql_fetch_array($sql))
{
echo "<OPTION value='$cat[id]'>$cat[name]</OPTION>";
}
?>


أولا ادرجنا ملف الاتصال بقاعدة البيانات ولاحظ المسار تبع الملف
include("../config.php");
ثانيا قمنا بإستخدم SELECT لجلب البيانات من قاعدة البيانات للاقسام الرئيسيه ... وقمنا بإستخدام where لتحديد عرض اقسام معينه فقط بحيث جلعنا جلب البيانات فقط اذا كان الحقل sub=0 فقط ... ثم فتحنا دالة التكرار while لعرض جميع النتائج .

والآن انتهينا من شرح الكود كاملا ان شاء الله

==============

والآن ننشيء ملف جديد بإسم section_insert.php بمجلد admin حيث ان هذا الملف سيكون خاص في استقبال البيانات من النموذج السابق ثم تفحصها ثم ادراجها لقاعدة البيانات .

نكتب به الكود التالي :

كود :

<?
include("../config.php");

$name = addslashes($_POST['name']);
$image = addslashes($_POST['image']);
$order_cat = addslashes($_POST['order_cat']);
$sub = $_POST['sub'];

if ($name == ""){
echo "<div align='center'>لم تقم بإدخال إسم للقسم <a href='javascript:history.back(1)'>عودة للخلف</a></div>";
}else{
$query = @mysql_query ("INSERT INTO story_cat (name,image,sub,order_cat)
VALUES
('$name','$image','$sub','$order_cat')") or die ("error query");
echo "<p align=center>تمت الاضافه بنجاح</p>";
echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=section.php'>";
}
?>



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

كود :

<?
include("../config.php");
?>



ثم استقبلنا البيانات من النموذج عن طريق المصفوفه POST >>> ألا تذكر في كود النموذج الذي بالأعلى ان تم ارسال البيانات عن طريق post وها نحن استقبلناها كما ارسلناها .

كود :

<?
$name = addslashes($_POST['name']);
$image = addslashes($_POST['image']);
$order_cat = addslashes($_POST['order_cat']);
$sub = $_POST['sub'];
?>



ولو تلاحظ أننا استخدما الداله addslashes في بعض المتغيرات !!! لمــاذا ياترى ؟
ببساطه لزيادة الأمان لقاعدة البيانات أولا وفائدتها إضافة سلاش (/) اذا كان النص المرسل يحتوي على (") أو (') وستكون النتيجه هكذا (/") أو (/') .

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

واذا كتب الاسم فسيتم عمل INSERT أي ادراج البيانات للقاعده وسيتم عرض رساله بنجاح العمليه وسيتم توجيك تلقائيا لصفحة الإضافة للأقسام .
وهذا كود التوجيه للصفحه :
كود :

<?
echo "<META HTTP-EQUIV='refresh' CONTENT='1; URL=section.php'>";
?>


والآن انتهينا من عمل صفحات اضافة الاقسام والاقسام الفرعية .
وتجد الامثله بالمرفقات .

والله ولي التوفيق
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://egypt1.forumegypt.net
 
الدرس الثالث
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الدرس الثالث
» الدرس الثالث
» الدرس الثالث
» الدرس الثالث : تحويل الصندوق الوارد الى صندوق اخر
» الدرس الثالث [الإجراءات المضادة عند حدوث الخطر Countermeasures]

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
منتدى العرب التعليمى :: منتدى البرمجة والتصميم والتطوير :: قسم برمجة و تطوير مواقع الإنترنت :: أقسام 'دورات برمجة المواقع :: دورة عمل سكربت قصص-
انتقل الى: