| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| أرجوا ان تتحملوني على أسئلتي البسيطة، فأنا لا زلت في طور المبتدئ جداً ![]() 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 تظهر النتيجة بعد انتهاء شفرة البرنامج. هذا فقط الذي تعلمته | |||||
|
| |||||
| بسم الله الرحمن الرحيم
اخى 1 الامتداد cgi يمكن البرمجة به بلغة البيرل او ال PHP او اى لغة برمجة اخرى اما الامتداد pl فهو مخصص لملفات البيرل فقط على حد علمى 2 ![]() 3 كما تعرف ان برامج البيرل يجب ترجمتها اولا من قبل السيرفر ثم تنفيذها و السطر الاول كود: #!/usr/bin/perl ـــــــــــــــــــ اخى اعطنى مهلة انهى اختباراتى و انا اشرحلك السكريبت سطر سطر ان شاء الله اوكى ؟انتهى انشاء الله 18/1/2000 و عيد سعيد اعاده الله علينا و على الامة الاسلامية بالخير و اليمن و البركات | |||||
|
| |||||
|
أهلاً أخوي سردادر ... وهذه إجابتي أتمنى لك التوفيق لافرق بين 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 " لا املك اشتراكات في سوالف " | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |