شوّيت: شبكة كرة قدم اجتماعية




العودة   سوالف سوفت > سوالف برمجة المواقع وتطويرها > PHP
التسجيل المدوّنات البحث مشاركات اليوم جعل الأقسام مقروءة

الرد على الموضوع
 
LinkBack أدوات الموضوع
مشرف قسم PHP
#1  
¤¤ هل فكرت أنت تكون لك مكتبة خاصة من PHP ؟

السلام عليكم ورحمة الله وبركاته ..
قبل البداية أسمحوا لي أن أغير الموضوع قليلاً وأقول - هل فكرت أن تكون محترفاً في PHP !؟ إذاً من الآن أعمل على مكتبتك الخاصة ..

لا أريد أن أدخل في مقدمة طويلة عريضة .. لذلك سأبدأ مباشرة بالعمل التطبيقي ..
أولاً : أنشأ قاعدة بيانات باسم مثلاً - swalif - وضع فيها الجداول التالية :
كود PHP:
CREATE TABLE student (
    
BRs INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
        
name VARCHAR(50),
        
stage VARCHAR(50) )

CREATE TABLE taught (
    
BRt INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
        
name VARCHAR(50),
        
specialization VARCHAR(50) )

CREATE TABLE articles (
    
BRa INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,
        
writer VARCHAR(50),
        
article TEXT NOT NULL,
        
title VARCHAR(50),
        
date VARCHAR(50) ) 
ثانياً : أنشأ صفحة config.php .. وضع فيها
كود PHP:
<?php

$dbserver 
"localhost"// اسم السيرفر  //
$dbname "swalif"// اسم قاعدة البيانات //
$dbuser "root"// اسم المستخدم لقاعدة البيانات //
$dbpss ""// كلمة المرور لقاعدة البيانات //

$DBC = @mysql_connect("$dbserver""$dbuser""$dbpss");

$DBS = @mysql_select_db("$dbname");
?>
ولنفترض أنك أنشأت قاعدة بيانات بناءً على المعلومات السابقة .. فلو أردنا أن نضيف طالب جديد ومعلم جديد ومقال جديد .. فما القاسم المشترك بينها ؟؟ من الطبيعي أن يكون هو الإضافة .. فالمراد هو إضافة في قاعدة البيانات لكن الاختلاف هو المسمى فهذا طالب وهذا معلم وهذا مقال ..
لذلك تجد الكثير منا يقوم مباشرة بإنشاء 3 ملفات على النحو التالي :

* صفحة إضافة طالب : addstudent.php .. ويكون المحتوى :
كود PHP:
<?
include ("config.php");

if (
$B1 == "إرسال") {
$sql mysql_query("
INSERT INTO student SET
name='$name',
stage='$stage' "
);

Echo 
'<p align="center"><b>لقد تم إضافة طالب جديد</b></p>';
}

Else {

Echo 
'
<form enctype="multipart/form-data" method="post" dir="rtl">
    <p align="center"><b><font face="Tahoma" size="4"><span lang="ar-sa">إضافة طالب</span></font></b></p>
    <table border="0" width="600" id="table1" align="center">
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">الاسم</span></font></td>
            <td width="500" align="center">
            <input type="text" name="name" size="70"></td>
        </tr>
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">المرحلة</span></font></td>
            <td width="500" align="center">
            <input type="text" name="stage" size="70"></td>
        </tr>
    </table>
    <p align="center"><input type="submit" value="إرسال" name="B1"><span lang="ar-sa">
    </span><input type="reset" value="إعادة تعيين" name="B2"></p>
</form> '
;
}
?>
* صفحة إضافة مدرس : addtaught.php .. ويكون المحتوى :
كود PHP:
<?
include ("config.php");

if (
$B1 == "إرسال") {
$sql mysql_query("
INSERT INTO taught SET
name='$name',
specialization='$specialization' "
);

Echo 
'<p align="center"><b>لقد تم إضافة مدرس جديد</b></p>';
}

Else {

Echo 
'
<form enctype="multipart/form-data" method="post" dir="rtl">
    <p align="center"><b><font face="Tahoma" size="4"><span lang="ar-sa">إضافة معلم جديد</span></font></b></p>
    <table border="0" width="600" id="table1" align="center">
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">الاسم</span></font></td>
            <td width="500" align="center">
            <input type="text" name="name" size="70"></td>
        </tr>
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">التخصص</span></font></td>
            <td width="500" align="center">
            <input type="text" name="specialization" size="70"></td>
        </tr>
    </table>
    <p align="center"><input type="submit" value="إرسال" name="B1"><span lang="ar-sa">
    </span><input type="reset" value="إعادة تعيين" name="B2"></p>
</form> '
;
}
?>
* صفحة إضافة مقال : addarticles.php .. ويكون المحتوى :
كود PHP:
<?
include ("config.php");

if (
$B1 == "إرسال") {
$sql mysql_query("
INSERT INTO articles SET
writer='$writer',
article='$article',
title='$title',
date='$date' "
);

Echo 
'<p align="center"><b>لقد تم إضافة مقال جديد</b></p>';
}

Else {

Echo 
'
<form enctype="multipart/form-data" method="post" dir="rtl">
    <p align="center"><b><font face="Tahoma" size="4"><span lang="ar-sa">إضافة مقال جديد</span></font></b></p>
    <table border="0" width="600" id="table1" align="center">
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">الكاتب</span></font></td>
            <td width="500" align="center">
            <input type="text" name="writer" size="70"></td>
        </tr>
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">العنوان</span></font></td>
            <td width="500" align="center">
            <input type="text" name="title" size="70"></td>
        </tr>
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">المقال</span></font></td>
            <td width="500" align="center">
            <textarea rows="6" name="article" cols="53"></textarea></td>
        </tr>
        <tr>
            <td width="100"><font face="Tahoma"><span lang="ar-sa">التاريخ</span></font></td>
            <td width="500" align="center">
            <input type="text" name="date" size="70"></td>
        </tr>
    </table>
    <p align="center"><input type="submit" value="إرسال" name="B1"><span lang="ar-sa">
    </span><input type="reset" value="إعادة تعيين" name="B2"></p>
</form> '
;
}
?>
وبهذا الأسلوب نجد التكرار لأكواد html وكذلك ضياع الوقت في كتابته أو تجهزه ، فما بالك إذا كان لديك برامج أكبر من هذا مع العلم أنّا لم نتطرق إلا إلى الإضافة .

** لكن من الآن أعمل على أن يكون لديك مكتبه مجهزه تختصر عليك عمل الأسبوع في يوم .. بحيث يكون تجهيز المكتبة على النحو التالي :
سيكون شرح على طريقة Function ويمكنك فيما بعد تطويرها وجعلها في Class ..
أولاً : بعد أن تنشئ ملف config.php قم بإنشاء ملف Function.php وضع فيه :
كود PHP:
<?

function Add($titlepage,$nametext,$namecolumn,$kindcolumn) {

$crop count($nametext);

print 
"
<form enctype='multipart/form-data' method='post' dir='rtl'>
    <p align='center'><b><font face='Tahoma' size='4'>"
.$titlepage[0]."</font></b></p>
    <table border='0' width='600' id='table1' align='center'>"
;

for (
$i 0;$i $crop;$i++) {

// ترجمة بعض الرموز //
if ($kindcolumn[$i] == "حقل")
{
$kindcolumn[$i] = "<input type='text' name='".$namecolumn[$i]."' size='70'>";}
elseif (
$kindcolumn[$i] == "نص")
{
$kindcolumn[$i] = "<textarea rows='6' name='".$namecolumn[$i]."' cols='53'></textarea>";}
elseif (
$kindcolumn[$i] == "سري")
{
$kindcolumn[$i] = "<input type='password' name='".$namecolumn[$i]."' size='70'>";}
else {
$kindcolumn[$i] = $kindcolumn[$i];}

print 
"</tr>
       <td width='100'><font face='Tahoma'>
      "
.$nametext[$i]."</font></td>";
      
print 
"<td align='center'>
      "
.$kindcolumn[$i]."</td>
       </tr>"
;
}

print 
"
    </table>
    <p align='center'><input type='submit' value='"
.$titlepage[1]."' name='B1'><span lang='ar-sa'>
    </span><input type='reset' value='إعادة تعيين' name='B2'></p>
</form>"
;
    }
    
?>
في هذا الملف ترجمة لرموز أي صفحة إضافة على قاعدة البيانات فقط أطلب هذا function وضع ما يلزم في صفحة الإضافة .. وسنطبق نفس المثال السابق لكيفية التعامل مع function ..

* صفحة إضافة طالب : addstudent.php .. ويكون المحتوى :
كود PHP:
<?
include ("config.php");
include (
"Function.php");

// بعض العناوين الخاصة بالصفحة
 
$titlepage  = array ("إضافة طالب جديد","إضافة");

// خصائص الإضافة
 
$nametext   = array ("الاسم","المرحلة"); // عناوين الحقول
 
$namecolumn = array ("name","stage"); // اسماء الحقول
 
$kindcolumn = array ("حقل","حقل"); // أنواع الحقول

// عملية الإضافة
if ($B1 == $titlepage[1]) {

$sql mysql_query("
INSERT INTO student SET
name='$name',
stage='$stage' "
);

Echo 
'<p align="center"><b>لقد تم إضافة طالب جديد</b></p>';

exit();}

// طلب الفورم
Add($titlepage,$nametext,$namecolumn,$kindcolumn);
?>
* صفحة إضافة مدرس : addtaught.php .. ويكون المحتوى :
كود PHP:
<?
include ("config.php");
include (
"Function.php");

// بعض العناوين الخاصة بالصفحة
 
$titlepage  = array ("إضافة معلم جديد","إضافة");

// خصائص الإضافة
$nametext   = array ("الاسم","التخصص"); // عناوين الحقول
 
$namecolumn = array ("name","specialization"); // اسماء الحقول
$kindcolumn = array ("حقل","حقل"); // أنواع الحقول

// عملية الإضافة
if ($B1 == $titlepage[1]) {

$sql mysql_query("
INSERT INTO taught SET
name='$name',
specialization='$specialization' "
);

Echo 
'<p align="center"><b>لقد تم إضافة مدرس جديد</b></p>';

exit();}

// طلب الفورم
Add($titlepage,$nametext,$namecolumn,$kindcolumn);
?>
* صفحة إضافة مقال : addarticles.php .. ويكون المحتوى :
كود PHP:
<?php

include ("config.php");
include (
"Function.php");

// بعض العناوين الخاصة بالصفحة
 
$titlepage  = array ("إضافة مقال جديد","إضافة");

// خصائص الإضافة
 
$nametext   = array (""الكاتب","العنوان","المقال","التاريخ); // عناوين الحقول
 
$namecolumn = array ("writer","title","article","date"); // اسماء الحقول
 
$kindcolumn = array ("حقل","حقل","نص","حقل"); // أنواع الحقول

// عملية الإضافة
if ($B1 == $titlepage[1]) {

$sql mysql_query("
INSERT INTO articles SET
writer='$writer',
article='$article',
title='$title',
date='$date' "
);

Echo 
'<p align="center"><b>لقد تم إضافة مقال جديد</b></p>';

exit();}

// طلب الفورم
Add($titlepage,$nametext,$namecolumn,$kindcolumn);
?>
------
طبعاً هذا مثال بسيط توضيحي والمكتبة ليست مقتصرة على الإضافة بل تشمل الحذف والتعديل والعرض وكذلك السابق والتالي و أي كود أو Function أو Class خارجي مثل سكربت الكتابه على الصور arabicGD الذي تم برمجته من الأخ (Nasa Baby ) مع حفظ حقوقه وكذلك سكربت التاريخ الهجري وغيرها من السكربتات الخارجية .

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

في المرفق التطبيق كامل .. في ملف professional تجد تطبيق المثال بالشكل التقليدي .. وفي ملف traditional تجد تطبيق المثال بالشكل الجديد ..

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

محبكم عبدالعزيز






الملفات المرفقة
نوع الملف: zip swalif.zip‏ (6.8 كيلوبايت, 266 مشاهدة)
__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 01:15 AM
الرد مع إقتباس
عضو نشيط جدا
#2  

جزاك الله خير على الشرح الجميل ..






__________________

سبحان الله وبحمده . سبحان الله العظيم .

عدد خلقه ورضاء نفسه وزنة عرشه ومداد كلماته
بووليد is offline   قديم 19-03-2005, 01:23 AM
الرد مع إقتباس
عضو فعال
#3  

بارك الله فيك






PHP-Master02 is offline   قديم 19-03-2005, 02:15 AM
الرد مع إقتباس
عضو فعال جدا
#4  

ماشاء الله ممتاز بارك الله فيك ووفقك .. الطريقة ممتازة لاختصار الجهد .. وكمان شرحك ممتاز ..

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






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس is offline   قديم 19-03-2005, 02:29 AM
الرد مع إقتباس
مشرف قسم PHP
#5  

بووليد .. شكراً على مرورك وجودك معنا هو الأجمل ..

PHP-Master02 .. وفيك إن شاء الله ..







__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 02:53 AM
الرد مع إقتباس
مشرف قسم PHP
#6  

أخي إنترنت بلس :

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






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 02:54 AM
الرد مع إقتباس
عضو فعال جدا
#7  

شكرا لك .. يبقى المشكلة عندي انا






__________________
....
محمد حسام
انترنت بلس
إنترنت بلس is offline   قديم 19-03-2005, 02:58 AM
الرد مع إقتباس
عضو نشيط جدا
#8  

جزاك الله خير






__________________
الأثير للأستضافة
Ahmed00 is offline   قديم 19-03-2005, 04:00 AM
الرد مع إقتباس
عضو فعال
#9  

مشكوووووووووووووووور






__________________
لمراسلتي إضغط هنا
php4arabs@hotmail.co.uk
yemen-1-host is offline   قديم 19-03-2005, 10:06 AM
الرد مع إقتباس
مشرف قسم PHP
#10  

الأخ Ahmed00 و yemen-1-host .. شكرا على مرووركم

إلى الأستاذ Fuga إن شاء الله نكون حققنا سياسة التثبيت هذه :
1- أن يكون الموضوع مهم في مجال تصميم المواقع
2- يحتوي على درس مهم جدا لمصممين المواقع
3- شرح للتقنيات الحديثه في التصميم
4- فائدة الموضوع كبيره للجميع
5- وجود أمثله حية للدرس أو الموضوع أو الشرح
6- نقاش من خلاله يتطور الفكر في التصميم
7- بعض المواضيع لتقدير المشرف لأهميتها






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 12:19 PM
الرد مع إقتباس
عضو سوبر نشيط
#11  
ncE بارع Pri .... أنت بــارع بمعنى الكلمة

ncE بارع Pri بارك الله فيك على الطريقة الحلوة و المميزة

يعطيك العافية , الف الف شكر لك .






__________________
* عش ما شئت فإنك ميت . وأحبب من شئت فأنك مفارقة , وأعمل ما شئت فأنك مجازى بة

* ما فائدة القلم اذا لم يفتح فكرا ..أو يضمد جرحا ..أو يرقا دمعة ..أو يطهر قلباً ..أو يكشف زيفاً .. أو يبني صرحاً يسعد الأنسان في ضلالة
faleh2002 is offline   قديم 19-03-2005, 01:02 PM
الرد مع إقتباس
مشرف قسم PHP
#12  

faleh2002 شكراً على مرورك ..

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






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 02:48 PM
الرد مع إقتباس
عضو سوبر نشيط
#13  

السلام عليكم

روعة و أكثر من روعة

و أتمنى أنك تواصل على هذا المنوال






__________________
قال أحد الشعراء بعد أن واجه المر من الحاقدين في مسابقة للشعر :-

لو كان شعري شعيراً لأكلته الحمير, و لكن شعري شعوراً فأنا للحمير شعورا
bahlink is offline   قديم 19-03-2005, 02:56 PM
الرد مع إقتباس
مشرف قسم PHP
#14  

bahlink .. مشكور أخوي وسنستمر في العطاء إن شاء الله بس نبي تفاعل






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 19-03-2005, 07:15 PM
الرد مع إقتباس
عضو فعال
#15  

مشكور والله على الشرح الجميل بس على ما اظن ده مكانه قسم ال php






__________________
سبحان الله وبحمده .. سبحان الله العظيم
المستضيفون العرب لخدمات ادارة السيرفرات
Ahmed Tohamy is offline   قديم 19-03-2005, 07:56 PM
الرد مع إقتباس
عضو فعال جدا
#16  

جزاك الله خير اخوي .






__________________
htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com is offline   قديم 19-03-2005, 08:02 PM
الرد مع إقتباس
عضو فعال
#17  
السلام عليكم و رحمه الله و بركاته . . .

بالفعل رائع أخوي العزيز ..


تسلم على المجهود و شكراً لك

تحياتي






__________________
------- « وما توفيقي إلا بالله »
الشجّار للبرامــــــج | راسلنــــي
Alshajjar is offline   قديم 19-03-2005, 08:36 PM
الرد مع إقتباس
عضو سوبر نشيط
#18  

مشكور والله أخوي وما تقصر .. وفعلاً جهد تشكر عليه .. الله يعطيك العافية






أمجد is offline   قديم 19-03-2005, 08:56 PM
الرد مع إقتباس
عضو فعال
#19  

رائع






__________________
سبحان الله و بحمده سبحان الله العظيم .
random-x@hotmail.com
-------------
بين الفينة و الأخرى ... لماماً أظهر !
random_X is offline   قديم 19-03-2005, 10:17 PM
الرد مع إقتباس
مشرف قسم PHP
#20  

tohamy .. شكراً لك ..والمقصد الفائدة لأن قسم تطوير المواقع أكثر زوار

jadweb.com .. وإياك إن شاء الله

Alshajjar .. والأروع وجودك معنا

أمجد .. شكراً لك على مرورك

random_X .. وأنت أروع

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






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 20-03-2005, 12:23 AM
الرد مع إقتباس
عضو نشيط جدا
#21  

بارك الله فيك ونحن انتابعك دوما

لا تنسى اضيف كل مرة دورس php






__________________
http://www.mwhoob.net

مواضيع أعجبتني
ــــــــــــ
قائمة المنتديات المتطورة
هل فكرة ان يكون لديك مكتبة php
موهوب is offline   قديم 20-03-2005, 01:28 AM
الرد مع إقتباس
عضو نشيط
#22  

جزاك الله خير




بالتوفيق






__________________
خير الكلام ما قل ودل

::العضوية هذه مشتركة بين أخوة في الله ::
saeed_ok is offline   قديم 20-03-2005, 01:29 AM
الرد مع إقتباس
عضو فعال
#23  

رائع .. وموضوعك يشهد لك على صدق اسمك.






أبو حازم الاسكندراني is offline   قديم 20-03-2005, 01:33 PM
الرد مع إقتباس
مشرف قسم PHP
#24  

موهوب .. وفيك إن شاء الله .. لكن لم أفهم هذه ( لا تنسى اضيف كل مرة دورس php ) ..

saeed_ok .. وإياك إن شاء الله .. بس معليش أي واحد فيكم رد علي لأن اليوزر مشترك

أبو حازم الاسكندراني .. شكرا لمجاملتك .. ووجودك معنا هو الأروع ..

تحياتي .. للجميع ..






__________________

ألا في سبيل الله ما أنا فاعل - - - عطاء وإقدام وحزم ونائل

عبدالعزيز السعيد is offline   قديم 22-03-2005, 02:21 AM
الرد مع إقتباس
مشرف
#25  

ممتاز ... موضوع ممتاز يا مبدع.
يعطيك العافية






__________________
الحالة في سوالف : غير نشط


لاَ اِلَهَ اِلاَّ اَنْتَ سُبْحَانَكَ اِنِّي كُنْتُ مِنَ الظَّالِمِينَ

الألفاظ هي الثياب التي ترتديها أفكارنا، لذا ..يجب ألا تظهر أفكارنا في ثياب رثة بالية
محمود المسعودي is offline   قديم 22-03-2005, 02:37 AM
الرد مع إقتباس
الرد على الموضوع


 

أدوات الموضوع

قوانين المشاركات
لا يمكنك كتابة مواضيع جديدة
لا يمكنك إضافة ردود
لا يمكنك إرسال مرفقات
لا يمكنك تعديل مشاركاتك

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح



جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:48 AM.