التغطية المصورة ليوم سوالف: الجزء الأول، الجزء الأخير
الفائزون في المسابقة الأصغر لسوالف كاست

 

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

موضوع مغلق  
 
LinkBack أدوات الموضوع
عضو فعال جدا
تاريخ التسجيل: Sep 2000-
#1 (permalink)  


السلام عليكم...

أرجوا ان تتحملوني على أسئلتي البسيطة، فأنا لا زلت في طور المبتدئ جداً

1) هل هناك فرق بين امتداد cgi. وامتداد pl.؟ الذي أعرفه التشابه فيما بينهم في البرمجة بلغة البيرل فما الفارق بينهما؟

2) أعلم أن هذا السؤال مكرر، أريد تحويل الحاسوب لدي كسيرفر، حقيقة حاولت مع وجود الدروس المختلفة لكنني فشلت، فهلا شرح أحدكم الدروس وبالصور وبشكل أبسط

3) زرت موقع http://bignosebird.com وفيه وجدت درساً بسيطاً عن إنشاء أول برنامج بيرل، وقد نجحت في تطبيق الدرس والحمد لله وهذه شفرة البرنامج البسيطة جداً (لا تضحكون علي! )

كود:
#!/usr/bin/perl

read(STDIN,$temp,$ENV{'CONTENT_LENGTH'});
@pairs=split(/&/,$temp);
foreach $item(@pairs)
 {
  ($key,$content)=split(/=/,$item,2);
  $content=~tr/+/ /;
  $content=~s/%(..)/pack("c",hex($1))/ge;
  $fields{$key}=$content;
 }
print "Content-type: text/html\n\n"; 
print "<HTML>\n";
print "<BODY BGCOLOR=#FFFFFF>\n";
print "<CENTER>\n";
print "THANK YOU<BR>\n";
print "$fields{fname} $fields{lname}</BR>";
print "I will write<BR>\n";
print "you at<BR>\n";
print "$fields{email}<BR>\n";
print "</CENTER>\n";
print "</BODY></HTML>";
السطر الأول من الشفرة مهم جداً، لكن لا أدري لماذا هو مهم؟ فأريد شرح لشفرة البرنامج وبالتفصيل الممل، فبدون شرح شفرة البرنامج لن أستطيع فهم البرمجة بهذه اللغة، فمن منكم يشرحها وله الأجر عند الله؟!

الذي أعرفه أن أمر print كما لاحظت لإنشاء صفحة HTML تظهر النتيجة بعد انتهاء شفرة البرنامج. هذا فقط الذي تعلمته






سردال غير متواجد حالياً   قديم 26-12-2000, 01:22 PM
عضو نشيط
تاريخ التسجيل: Dec 1999-
#2 (permalink)  
بسم الله الرحمن الرحيم

اخى
1 الامتداد cgi يمكن البرمجة به بلغة البيرل او ال PHP او اى لغة برمجة اخرى اما الامتداد pl فهو مخصص لملفات البيرل فقط على حد علمى
2
3 كما تعرف ان برامج البيرل يجب ترجمتها اولا من قبل السيرفر ثم تنفيذها و السطر الاول
كود:
 #!/usr/bin/perl
يخبر نظام التشغيل مكان برنامج البيرل الذى سيقوم بترجمة و تنفيذ السكريبت
ـــــــــــــــــــ
اخى اعطنى مهلة انهى اختباراتى و انا اشرحلك السكريبت سطر سطر ان شاء الله اوكى ؟
انتهى انشاء الله 18/1/2000
و عيد سعيد اعاده الله علينا و على الامة الاسلامية بالخير و اليمن و البركات






__________________
I love every bode
mohammedeg@crosswinds.net
موقع Galaxy مغلق :(
Superman غير متواجد حالياً   قديم 26-12-2000, 06:18 PM
عضو فعال جدا
تاريخ التسجيل: Sep 2000-
#3 (permalink)  

أشكرك من أعماق قلبي! أشكرك بعنف

وسأنتظرك حتى ذلك الوقت والله يوفقك في الامتحانات ومبارك عليك العيد






سردال غير متواجد حالياً   قديم 26-12-2000, 06:45 PM
عضو سوبر نشيط
تاريخ التسجيل: Jan 2000-
#4 (permalink)  

أهلاً أخوي سردادر ... وهذه إجابتي أتمنى لك التوفيق
لافرق بين cgi و pl و للعلم مترجم البيرل أصلاً لايطلب أي إمتداد لملف البيرل ولكن جرت العادة على pl و cgi و الله أعلم .
السطر الأول : هو مهم لأنه يخبر برنامج البيرل عن مكان وجود مترجم البيرل .
السطر الثاني : يقوم بقرائة المعلومات المرسلة إلى البرنامج عن طريق أسلوب POST ووضعها في المتغير $temp و المتغير الأخير يخبر الدالة read عن طول المعلومات المرسلة .
السطر الثالث : كما هو معلوم أنه لو كان لديك حقلين في نموذج قمت بإنشائة بواسطة الـ HTML الأول بإسم Name و الثاني بإسم Email فسوف يتم إرسال المعلومات بالشكل التالي :
Name=Mazen&Email=maz7@dr.com
ففي السطر الثالث نقوم بفصل كل حقل ووضعه في المصفوفه بحيث تصبح المصفوفة على الشكل التالي :
------- العنصر الأول : Name = Mazen
------- العنصر الثاني : Email = maz7@dr.com
حيث أن الدالة split وهي على الشكل التالي :
split /PATTREN/,$ver
تقوم بفصل كل مافي المتغير $ver حسب الباترين الموجود .
قد يكون هذا السطر صعب شرحة قليلاً لأنه لكن عند التعمق في البيرل سوف يكون سهل جداً .
foreach $item(@pairs) : هذا السطر يأخذ كل عنصر من المصفوفه pairs ويضعه في المتغير item .
($key,$content)=split(/=/,$item,2) : هذا السطر يقوم بنفس عمل السطر قبل السابق .
$content=~tr/+/ /; : هذا السطر يقوم يتحويل كل علامة + إلى مسافة حيث أنه عند طلب فورم عن طريق HTML يتيم تحويل المعلومات ( حاول أن تراجع أي موضوع يتحدث عن الفورم )
$content=~s/%(..)/pack("c",hex($1))/ge : يقوم بتحويل المعلومات المرسلة من المقابل الست عشري إلى الحرف الصحيح .
$fields{$key}=$content; : هذا السطر يقوم بصنع هاش ( وهو أحد أنواع المصفوفات أو المتغيرات يمكن تشبيهها بقاعدة بيانات يمكن الوصول لمحتوياتها عن طريق الإسم ) .
print "Content-type: text/html\n\n"; : يرسل إلى المتصفح معلومات أن النص المرسل هو نص HTML >
السطور التالية : عبارة عن طباعة لوسوم HTML .
print "$fields{fname} $fields{lname}</BR> : هذا السطر يقوم بإستدعاء أحد عناصر الهاش التي تم صنعها من قبل .

أخيراً إعذرني إن كان الشرح غير مفهوم ( أنا عارف إنه غير مفهوم ) لكن لو فيه سطر مافهته أسأل و إنشاء الله ماراح أتأخر .
والله يوفق الجميع .
وكل عام و أنتم بخير .








__________________
مدونتي الشخصية :
http://www.mazen.ws
عن البرمجة و تطوير المواقع و علوم الحاسب
ماسنجر :
desclub@hotmail.com
بريد الكتروني :
mazen@mazen.ws

" لا املك اشتراكات في سوالف "
مازن مليباري غير متواجد حالياً   قديم 26-12-2000, 07:23 PM
عضو فعال جدا
تاريخ التسجيل: Sep 2000-
#5 (permalink)  

أخي مازن: جزاك الله ألف خير أخي حقيقة استفدت كثيراً من ‘جابتك، وأنا أقرأها أكثر من مرة حتى أفهمها جيداً ثم سأطرح بعض الاستفسارات






سردال غير متواجد حالياً   قديم 27-12-2000, 02:45 PM
موضوع مغلق


 

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

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

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 12:13 AM بتوقيت المملكة العربية السعودية