[دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
بسم الله الرحمن الرحيم
http://upload.wikimedia.org/wikipedi...%D8%B1_PHP.png
تحدثنا في الدرس السابق و هو الجزء الأول من التعامل مع النماذج في لغة php عن النماذج و فوائدها و كيفية التعامل معها و تصميمها و بالإضافة الى بعض الوسوم tages الأساسية في لغة html و كيفية تركيبها لتصميم نموذج بالإضافة الى بعض المواقع التي تفيد متابعي الدورة في تصميم النماذج و بإمكانكم متابعة الدروس السابقة من خلال الفهرس التالي :
اما في درس اليوم سنتحدث عن برمجة النماذج بلغة php و الإستفادة منها و كيفية تطويعها لكسب اقصى امكانياتها لجعل المواقع التي نقوم ببرمجتها اكثر ديناميكية و سلاسة و تواصل مع المستخدم و على بركة الله نبدأ
في البداية سوف نراجع الدرس السابق مراجعة سريعة جدا لتكون معلوماتنا متصلة بمعلومات هذا الدرس و قد سبق و شرحنا الفائدة من النماذج و كيفية تصميمها و ذكرنا ان النموذج يقوم بإرسال البيانات التي ادخلت عليه مثل الرقم الجامعي و الرقم السري عند الضغظ على الزر (submit) الى صفحة محددة نكون قد حددناها في وسم tage النموذج بالخاصية action و قد تحدثنا عنها في الدرس السابق و ايضا هذه البيانات تنتقل الى هذه الصفحة التي حددناها بإحدى الطريقتين اما GET او POST و قد تحدثنا عنهم بالتفصيل و الآن لنكمل درسنا
لنفرض اننا قمنا بتصميم نموذج يحتوي على خانتين نص text و خانة زر ارسال و الخانتين ذات النوع text قمنا بتحديد الخاصية name لهم بـ num1 للخانة الأولى و num2 للخانة الثانية و قمنا ايضا بتحديد استخدام الطريقة GET في خاصية النموذج method و ايضا قمنا بتحديد صفحة معالجة بيانات النموذج في الخاصية action على ان اسمها هو process.php و الكود التالي هو كود تصميم النموذج بلغة html و يوضح كل الخواص التي ذكرتها في السطور السابقة :
كود PHP:
<form action='process.php' method='GET'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
</form>
</b>
الآن خطوات العمل كالتالي :
1 - افتح القرص C ثم اذهب الى المسار التالي : C:\AppServ\www
2 - قم بإنشاء مجلد جديد new folder و قم بتسميته less7
3 - افتح محرر النصوص و اكتب الكود السابق ثم احفظه في المجلد الذي انشئناه (less7) بإسم form.html لاحظ الصيغة هنا و هي html و ليس php لأنها تصميم فقط
لاحظ الخطوات السابقة بالصور لحفظ صفحة html :
http://www.al79n-php.info/less7/htmpage.JPG
و بعد الإنتهاء و إكمال الخطوات السابقة بإمكانك معاينة الصفحة كالتالي :
http://localhost/less7/form.html
هذه هي طريقة حفظ صفحة html و فيها نموذج و الآن بإمكاننا العودة الى php
بعد ان اتممنا العمل السابق الآن لنفرض ان شخص قام بإدخال الرقم الأول في الخانة الآولى و الرقم الثاني في الخانة الثانية مثل الصورة التالية :
http://img204.imageshack.us/img204/7095/forx.jpg
ثم قام بالضغظ على الزر ما الأمر الذي سوف يحصل
مما لا شك فيه و بما اننا لم نتم عملية البرمجة بلغة php لهذا النموذج فإنه لن يحصل شيء و لكن النموذج عادة سيرسل هذه البيانات الى صفحة المعالجة process.php فإن وجدها فإنها تستقبل البيانات و تقوم بمعالجتها و إجراء العمليات المطلوبة عليها اما اذا لم تجدها فإنه سيحول الى صفحة خطأ
الآن السؤال الذي يطرح نفسه كيف تقوم صفحة المعالجة process.php بإستقبال البيانات و ما هي العمليات الممكنة على هذه البيانات ؟؟
الإجابة هي ان php تدعمنا للتعامل مع النماذج بشيء يسمى المصفوفات الخارقة strong array و هي نوع خاص من المصفوفات يستخدم عادة مع النماذج و وظيفة هذه المصفوفات ان تقوم بإستقبال بيانات النموذج و تخزينها في المتغيرات او طباعتها او اجراء عمليات حسابية عليها او تخزينها في ملفات خاصة او قواعد البيانات او غيرها
فالعملية اشبه بطالب يكتب لمدرسه سؤال : كم نتيجة 1 + 1 و يرسلها للمدرس فيقوم المدرس بمعالجة السؤال و اجراء العملية الحسابية ثم اعادة النتيجة للطالب او كتابتها على الورقة
الآن ما هي المصفوفات الخارقة و كيف تستخدم في الكود ؟؟
المصفوفات الخارقة لها عدة انواع سنتحدث عن نوعين منها و هي كالتالي :
1- GET_$ و هي مصفوفة وظيفيتها استقبال بيانات من النموذج بالطريقة GET إذا كان النموذج محددا في الخاصية method و الصيغة العامة لها التالي :
http://img521.imageshack.us/img521/3506/genz.jpg
اي بمعنى اجلب البيانات من النموذج من الحقل المحدد بين الأقواس [] بالطريقة GET ثم قم بتخزينه في المتغير var$
و كإستخدام عليها في مثالنا كالتالي :
قمنا بعمل نموذج و حددنا الطريقة GET ثم قمنا بحمل حقلين للنص و اسندنا اليهم الخاصية name على انها num1 و num2 و هنا تعتبر هذه الأسماء من اهم الأشياء لأننا سنستخدمها في الكود لاحظ الكود التالي ثم الشرح :
http://img842.imageshack.us/img842/6634/getvi.jpg
اي اجلب القيمة الموجودة في النموذج في الحقل ذو الأسم num1 و قم بتخزينه في المتغير var1 بالطريقة GET
ثم اجلب القيمة الموجودة في النموذج في الحقل ذو الأسم num2 و قم بتخزينه في المتغير var2 بالطريقة GET
ثم اجمع المتغير var1 و var2 و خزن النتيجة في sum
ثم اطبع الناتج على الصفحة
2 -POST_$ : و هي نفس الطريقة GET تماما لكن قم بتغيير كل كلمة GET الى POST في النماذج و في الكود كالتالي :
في النموذج form.html :
كود PHP:
<form action='process.php' method='POST'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
</form>
</b>
و في كود المعالجة : process.php
http://img512.imageshack.us/img512/442/postd.jpg
والفرق الوحيد بينهم تم ذكره في الدرس السابق و هو كمية البيانات المرسلة و الحماية
ملاحظة يجب حفظ الصفحة form.html و كود المعالجة process.php في نفس المجلد less7 و الكود process.php يحفظ بطريقة طبيعية مثل الدروس السابقة
و لمعاينة الدرس ادخل الى الرابط التالي و ادخل رقمين و اضغط على الزر ليظهر ناتج جمعهم :
http://www.al79n-php.info/less7/form.html
بهذا اخواني نكون قد انهينا درس اليوم و اعتقد انه متداخل نوعا ما و فيه نوع من الصعوبة عليكم لكن بقليل من التركيز ستتوضح كل الأمور و انا هنا لإستفساراتكم و اسئلتكم
و الدرس القادم سيكون تطبيق على النماذج لتتضح الفكرة لكم لأنها من اهم مكونات لغات الويب
:SnipeR (10):
492114a0-803c-4ccc-954c-758c3f7a1ea2
1.03.01492114a0-803c-4ccc-954c-758c3f7a1ea2
1.03.01
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
يعطيك العافيه سكربت :emb3:
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
اقتباس:
المشاركة الأصلية كتبت بواسطة حمزاوي
يعطيك العافيه سكربت :emb3:
الله يعافيك صديقي :) .....
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
العفو و شكرا لمرورك شذى ....
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
[align=center]مسـاء الفل.،
عوآفي يازيد كيفك انشاءالله تمام.، :SnipeR (89):
هاد الدرس بجد لخبط كل اشي عندي بس حآولت أطبق لكن مازبط ابدا ولا حـاجه:36_1_6[1]: ..، طبعا انا متل العاده بخص اكتير لهيك اضفت على الحاسبه عملية الطرح <متأكده انها خطأ> الله يستر:44ebcbb04a:
طبعا هو فيه اشي خطأ لانه مابيقبل ينتقل معي على صفحة الناتج
هاد الكود الاول سيفته باسم process.php
كود PHP:
<?
echo "<body bgcolor= red>";
echo "<center>";
echo "<br><font color=green size=7> Welcome For All <br></font>";
echo "</br><font size=5 color=black>This calculater To Do Sum Or Minus Operation<br\></font>";
?>
<form action='process.php' method='POST'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
<input type='submit' value='minus the numbers'>
</form>
وهاد الكود التاني سيفته باسم form.html
كود PHP:
<?
echo "<body bgcolor= black>";
echo "<center>";
echo "<br><font color=green size=7> Welcome For All <br></font>";
echo "</br><font size=5 color=black> The Solu For This Operation Is : <br\></font>";
?>
<?
$var1= $_POST['num1'];
$var2= $_POST['num2'];
$sum= $var1+$var2;
echo "<The Solution Is>".$sum;
?>
<?
$var1= $_POST['num1'];
$var2= $_POST['num2'];
$mins= $var1-$var2;
echo "<The Solution Is>".$mins;
?>
[/align]
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
اقتباس:
المشاركة الأصلية كتبت بواسطة jaja20_01
[align=center]مسـاء الفل.،
عوآفي يازيد كيفك انشاءالله تمام.، :SnipeR (89):
هاد الدرس بجد لخبط كل اشي عندي بس حآولت أطبق لكن مازبط ابدا ولا حـاجه:36_1_6[1]: ..، طبعا انا متل العاده بخص اكتير لهيك اضفت على الحاسبه عملية الطرح <متأكده انها خطأ> الله يستر:44ebcbb04a:
طبعا هو فيه اشي خطأ لانه مابيقبل ينتقل معي على صفحة الناتج
هاد الكود الاول سيفته باسم process.php
كود PHP:
<?
echo "<body bgcolor= red>";
echo "<center>";
echo "<br><font color=green size=7> Welcome For All <br></font>";
echo "</br><font size=5 color=black>This calculater To Do Sum Or Minus Operation<br\></font>";
?>
<form action='process.php' method='POST'>
Enter Number 1 :
<input type='text' name='num1'><br/>
Enter Number 2 :
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum'>
<input type='submit' value='minus the numbers'>
</form>
وهاد الكود التاني سيفته باسم form.html
كود PHP:
<?
echo "<body bgcolor= black>";
echo "<center>";
echo "<br><font color=green size=7> Welcome For All <br></font>";
echo "</br><font size=5 color=black> The Solu For This Operation Is : <br\></font>";
?>
<?
$var1= $_POST***91;'num1'***93;;
$var2= $_POST***91;'num2'***93;;
$sum= $var1+$var2;
echo "<The Solution Is>".$sum;
?>
<?
$var1= $_POST***91;'num1'***93;;
$var2= $_POST***91;'num2'***93;;
$mins= $var1-$var2;
echo "<The Solution Is>".$mins;
?>
[/align]
اهلا فيكي مرة ثانية
فعلا انتي هون مخربطة كثير او بالأحرى مخبصة كثير :icon9:
بس ما يهمك ركزي معي
هسه احنا بدنا نعمل فورم ندخل فيه رقمين و نوجد ناتج جمعهم و ناتج طرحهم صح ؟؟
اذا بهاي الحالة احنا بدنا نكتب كودين بصفحتين مستقلتين
الأول هو كود الفورم و هو بلغة html و هو عبارة عن تصميم
و الثاني هو كود رح يستقبل البيانات من الفورم بالصفحة الأولى و يوجد ناتج الجمع و الطرح
خلينا نفرض انه الكود الأول وهو الفورم مكتوب الصفحة index.html و الكود رح يكون كالتالي :
http://img194.imageshack.us/img194/3580/62687637.jpg
اهم شي تلاحظي انه هاد الكود الي فوق حفظناه بصيغة لغة html وليس php يعني سميناه index.html و لاحظي انه هو كامل عبارة عن تصميم لصفحة فيها نموذج و لا وجود لأي كود php فيها و لو كتبنا اي كود php فإنه لن يتعرف اليه هنا
المهم لاحظي انه صممنا نموذج بهاي الصفحة و كود النموذج هو الي عليه مستطيل اخضر بالصورة
ولاحظي انه حددنا الصفحة الي فيها كود ال php الي رح يعالج بيانات النموذج من خلال الخاصية action و هي process.php
بعدين حددنا طريقة انتقال بيانات النموذج من هاي الصفحة الى الكود الموجود بالـ process.php و هي الطريقة POST و حددناها من خلال الخاصية method
بعدين حطينا صندوقين ادخال
الصندوق الأول لإدخال الرقم الأول و اسميناه num1
الصندوق الثاني لإدخال الرقم الثاني و اسميناه num2
بعدين حطينا زر ارسال اسميناه calculate the sum and sub
لاحظي انه النموذج يحتوي على زر واحد فقط للجمع و الطرح وليس زرين واحد للطرح و واحد للجمع لأن كود الphp الموجود في process.php هو المسؤول عن الطرح والجمع ,, اذا اي نموذج يجب ان يكون فيه زر واحد فقط (مبدأيا)
الآن ننتقل الى برمجة صفحة معالجة النموذج و هي process.php و يجب ان يكون في صفحة مستقلة في نفس الفولدر الذي حفظنا فيه كود ال html الذي اسميناه index.html
و الكود سيكون كالتالي :
http://img255.imageshack.us/img255/1306/40870387.jpg
لاحظي انه الكود السابق هو كود php كامل وهو عبارة عن الكود المسؤول عن معالجة بيانات النموذج كما حددنا في كود النموذج السابق
في المستطيل الأول في الصورة السابقة قمنا بإستقبال بيانات النموذج و تخزينهم في المتغيرين x$ و y$
و في المستطيل الثاني في الصورة قمنا بعمل العمليات الحسابية على المتغيرين و هم الجمع و الطرح
و في المستطيل الثالث قمنا بطباعة ناتج الجمع و ناتج الطرح
اذا ,,
عليك عمل التالي كما في الصورة التالية :
http://img251.imageshack.us/img251/5273/87327286.jpg
بهاي الصورة وضحتلك شو الي عملناه و هو انه نعمل فولدر جديد اسمه form و نحط جواته الكودين كود index.html الخاص بتصميم النموذج و كود process.php الخاص بمعالجة النموذج
و اخر خطوة بنروح على المتصفح و بنجرب شغلنا كالتالي :
كود PHP:
http://localhost/form/index.html
بتمنى اكون وضحتلك الصورة :)
تحياتي
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
يسلمؤ زيد بارك الله فيك.، & اهلين فيك اكتر والله
مع الاسف عملت متل ما حكيتلي بس ما زبط معي
هلا لو رجعنا على form1.html انا عملتله هاد الكود "متلك تماما"
كود PHP:
<form action='procees.php' method='POST'>
Enter Number1:
<input type='text' name='num1'><br/>
Enter Number2:
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum & sub'>
</form>
لكن فيه شغله لفتت انتباهي هون انه لمن اروح على
كود PHP:
C:\AppServ\www\less7
بيكون مكتوب form1 بدون امتداده ال html
وبلنسبه لل process.php هاد الكود
كود PHP:
<?
$x= $_POST['num1'];
$y= $_POST['num2'];
$sum= $x+$y;
$sub= $x-$y;
echo "<the result of $x+$y= $sum<br/>";
echo "<the result of $x-$y= $sub<br/>";
?>
وبرضك نفس الشيء عندي ملاحظه لمن اروح على
كود PHP:
C:\AppServ\www\less7
بتكون ايقونتها غير معروفهunknown application
يعني مختلف تمام عنك متل اخر صوره زودتني فيها
ولمن بروح عالمتصفح بيظهرلي النموذج لكن الناتج مابيظهر بيحكيلي عندك error
اتمنى انه يكون كله واضح ومااكون غلبتك
مع جزيل الشكر والمحبه والاحترام لالك
يعطيك العافيه
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
اقتباس:
المشاركة الأصلية كتبت بواسطة jaja20_01
يسلمؤ زيد بارك الله فيك.، & اهلين فيك اكتر والله
مع الاسف عملت متل ما حكيتلي بس ما زبط معي
هلا لو رجعنا على form1.html انا عملتله هاد الكود "متلك تماما"
كود PHP:
<form action='procees.php' method='POST'>
Enter Number1:
<input type='text' name='num1'><br/>
Enter Number2:
<input type='text' name='num2'><br/>
<input type='submit' value='calculate the sum & sub'>
</form>
لكن فيه شغله لفتت انتباهي هون انه لمن اروح على
كود PHP:
C:\AppServ\www\less7
بيكون مكتوب form1 بدون امتداده ال html
وبلنسبه لل process.php هاد الكود
كود PHP:
<?
$x= $_POST***91;'num1'***93;;
$y= $_POST***91;'num2'***93;;
$sum= $x+$y;
$sub= $x-$y;
echo "<the result of $x+$y= $sum<br/>";
echo "<the result of $x-$y= $sub<br/>";
?>
وبرضك نفس الشيء عندي ملاحظه لمن اروح على
كود PHP:
C:\AppServ\www\less7
بتكون ايقونتها غير معروفهunknown application
يعني مختلف تمام عنك متل اخر صوره زودتني فيها
ولمن بروح عالمتصفح بيظهرلي النموذج لكن الناتج مابيظهر بيحكيلي عندك error
اتمنى انه يكون كله واضح ومااكون غلبتك
مع جزيل الشكر والمحبه والاحترام لالك
يعطيك العافيه
بتوقع المشكلة عندك بحفظ الإمتداد للملفات بما انك بتحكي انه الأيقونة بتطلع غير معروفة
و بما انه الفورم بطلع عندك عادي اذا المشكلة بحفظ كود ال php و الحل كالتالي :
بعد ما تكتبي الكود في محرر النص
اختاري القائمة new ومنها اختاري save as
و حددي مكان الحفظ و الأسم و الإمتداد كما في الصورة التالية :
http://img573.imageshack.us/img573/9279/58903134.jpg
و بعدها جربي روحي على المتصفح كالتالي :
كود PHP:
http://localhost/form/index.html
و رديلي خبر شو بصير معك و اذا ما زبطت في 3 حلول اخرى :)
رد: [دورة php - الدرس السابع] - الجزء الثاني : معالجة بيانات النماذج و برمجتها
[align=center]:Jordan:[/align]يعطيكم العافيه