توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش php
sunyboy
11-16-2008, 02:42 AM
مقدمه :
PHP يه زبان براي طراحي سايته كه امتيازات فوقالعادهاي نسبت به اين داره كه فقط از HTML استفاده كنيد .
در زبان HTML شما فقط ميتونيد صفحاتي رو طراحي كنيد كه كاربر فقط ميتونه
روي لينكها كليك كنه . يعني همه چيز از قبل مشخص شده و كاربر اين وسط يه
چيزي تو مايههاي كشكه كه فقط ميتونه تو صفحات تكراري بره .
ولي اگر در كد HTML تون از PHP , ASP , Javascript استفاده كنين . كاربر
ميتونه هر دفعه يك كار رو بكنه . مثلا شما يه سايت دارين كه توش
نظرسنجيهاي مختلف راه مياندازيد . اگه فقط با HTML كار بكنين ، به هيچ
وجه اين كار ممكن نيست . چون HTML نميتونه
به تنهايي جواب اعمال شما رو بده ، اونارو ذخيره كنه يا هر كار ديگه . ولي
زبانهايي كه نام بردن كارشون همينه . يعني تو وسطهاي كار HTML خودشونو
قاطي ميكنن و نتايج رو تغيير ميدن .
كارهاي مهمي كه ميشه با PHP كرد :
1. ارتباط با بانكهاي اطلاعاتي
2. فرستادن اي-ميل
3. طراحي كارت خريد در سايت
4. ايجاد يك انجمن ( مثل پرشين فروم خودمون . ولي پرشين فروم با ASP طراحي شده )
5. مبادلهي فايل
6. دادن اختيارات زياد به مدير سايت . به طوري كه حتي قادر است بدون دستكاري كد ، تغييرات كلي در سايت ايجاد كند
7. خواندن از بانك اطلاعاتي و ايجاد تغييرات در بانك
قدرتمنديهاي مهم PHP عبارتند از :
1. كارايي و سرعت فوقالعاده بالا
2. قابليت ارتباط با اكثر بانكهاي اطلاعاتي
3. open source بودن . يعني هم رايگان است و هم ميتوانيد در آن تغييراتي ايجاد كنيد
4. قابل حمل بودن . يعني كدي كه با ويندوز مينويسيد ، به راحتي با لينوكس اجرا ميشه
5. سايت هاي زيادي كه آموزش و برنامههاي آن را به طور رايگان در اختيار شما ميدهند
نكته : نه من ، نه هيچ كتابي و نه هيچ
موسسهاي نميتواند ادعا كند كه PHP رو در كمتر از 6 ماه به طور كامل به
شما ياد بده . پس به اين نتيجه ميرسيم كه ياد گرفتن PHP مستلزم به جستجو
و مطالعه كدهاي ديگران . البته خيالتون راحت . وقتي هر چي بلد بودم ياد
خواهم داد.
نصب IIS
1. به كنترل پنل برويد
2. بر روي Add/Remove Programs را كليك كنيد تا پنجره ظاهر شود
3 . در اين پنجره بر روي Add/Remove Windows Components كليك كنيد
4. اگر در مربع كنار Internet Information Services گزينهي علامت تيك
وجود داشت ، يعني IIS نصب هست . اگه نبود بر روي آن كليك كنيد ، دكمهي
Details رو بزنيد و سپس تمام گزينهها رو تيك دار كنيد . حالا برروي OK
كليك كنيد و سپس برروي < Next . پس از نصب هم سيستم خود را Restart
كنيد تا IIS نصب شود .
تست IIS
در مرورگرتون بنويسيد :
http://localhost/localstart.asp
اگه بدون هيچ مشكلي يه صفحه مايكروسافت رو ديدين ، يعني IIS درست نصب شده
از اين به بعد كدهاي PHP تون رو تو دايركتوري زير كه روت اصلي هم نام دارد بريزين :
widowsdrive>:/Inetpub/wwwroot
كه آدرسش ميشه : http://localhost
نكتهي خيلي مهم : كدهاي PHP فقط در روت اصلي و با مرور گر باز ميشن . يعني بايد از آدرسي كه بهتون دادم استفاده كنين .
sunyboy
11-16-2008, 02:45 AM
ايجاد پوشهي مجازي :
بهتره قبل از هر كاري ، كاربرد پوشهي مجازي رو توضيح بدم .
خوب ، فرض كنيد شما در عين حال ، در حال انجام دو پروژه هستيد ، و اين دو پروژه ، هر دو فايلي به اسم index.php دارند . يعني اگه اونارو تو روت اصلي كپي كنين ، فقط يكيشون قابل اجرا هستن . با ايجاد پوشهي مجازي ، هم برنامههاي شما جدا ميشه ، و هم ميتونين اونارو هرجا كه هستند ، اجرا كنيد . يعني اگر اسم پوشهي مجازي رو poll بذاريم ، براي باز كردن فايلهاي پروژه به آدرس :
http://localhost/poll/xxx.xxx
مراجعه ميكنيم .
براي ايجاد پوشهي مجازي :
1. وارد كنترل پنل بشويد
2. به قسمت Administrative Tools برويد
3. Internet Information Services رو باز كنيد
4. بر روي علامت بعلاوهي كنار اسم كامپوترتون كليك كنيد
5. بر روي علامت بعلاوهي كنار Web Sites كليك كنيد
6. روي گزينهي Default Web Site كليك راست كنيد و در منو گزينههاي New سپس Vitual Directory كليك كنيد
7. بر روي Next كليك كنيد
8.در قسمت Alias نام پوشهي مجازي مورد نظرتان كه در مرورگرتان بعد از localhost مينويسيد را انتخاب كنيد و بر روي Next كليك كنيد
9. حالا آدرس دايركتوري كه فايلها را در آن مينويسيد را بنويسيد . اگر آن را نميدانيد ، بر روي Browse كليك كنيد
10. اين قسمت را بدون تغيير بگذاريد و برروي Next كليك كنيد
11. پوشهي مجازي ساخته شد . بر روي Finish كليك كنيد
نصب PHP :
نوبتي هم باشه ، نوبت خود PHP هست . اينم روشش :
1. php-5.0.4-installer.exe رو كه دانلود كرديد ، باز كنيد .
2. بر روي Next كليك كنيد . بروي I Agree كليك كنيد . Standard را انتخاب كنيد و بر روي Next كليك كنيد . محلي را كه ميخواهيد PHP در آن نصب شود را انتخاب كنيد . اين قسمت را بدون تغيير رها كرده و بر روي Next كليك كنيد . مدل IIS خود را انتخاب كنيد و دو بار بر روي Next كليك كنيد تا PHP نصب شود
3. حين نصب احتمال دارد چند پيغام دريافت كنيد . فقط بر روي OK كليك كنيد ، چون كار ديگهاي نميشه كرد !!!!!
4. حالا PHP نصب شده ، ولي قابليت چنداني نداره . بايد كارهاي زير رو ادامه بديد
5. فايل php-5.0.4-Win32.zip رو هم كه قبلا دانلود كرديد رو در دايركتوري c:\php كه همين الان بايد درستش كنيد ، كپي كنيد و فايلهاي داخل آن را با WinRAR يا WinZIP در همان جا كپي كنيد . حالا همهي فايلها به جز دايركتوري ext و محتواش رو پاك كنيد
6. فايل php.ini رو از دايركتوري ويندوز باز كنيد
7. در آخر فايل ، بنويسيد :
extension_dir
=
"c:\php\ext
"
توجه كنيد كه تمام اينها بايد سرهم باشه و نيازي به اينتر زدن نيست . من اين كارو كردم ، چون اگه سرهم مينوشتم ، شما اشتباه ميخونديدش
حالا PHP به طور كامل نصب شده و آمادهي بهره برداري است . كلنگ بياريد تا افتتاح كنيم !!!!
ولي براي اينكه مطمئن شويد كه PHP درست با IIS كار ميكنه ، فايل phpcheck.php رو با محتواي زير ايجاد كنيد :
php?>
phpinfo
()
;
<?
ولي خطوط دوم تا چهارم نبايد اينتر داشته باشن . آقا فرشاد(مدير سايت) تا وقتي سايت از Xoops استفاده نكنه ، نوشتن كد امكانپذير نيست .
از حاشيه بگذريم ، فايل phpcheck رو كه نوشتيد ، تو روت اصلي كپي كنيد و با مرورگرتان به آدرس زير برويد :
http://localhost/phpcheck.php
اگه يه شجره نامه در مورد PHP ديديد ، يعني PHP درست كار ميكنه . اگه درست كار نكرد همين جا بگيد تا مشكلتونو بر طرف كنم .
sunyboy
11-16-2008, 02:47 AM
براي ايجاد فايل راحتترين كار استفاده از نوتپد هست . ولي اديتورهاي زيادي براي PHP وجود داره كه راحت دانلود ميشه . ولي من كه تا حالا از Nootpad استفاده كردم . سليقهي خودتونه
نوشتن كدهاي PHP :
كدهاي PHP رو ميان دو تگ اصلي زير بنويسيد :
php?>
كد پي اچ پي شما
<?
همچنين براي نوشتن توضيحات بايد از يكي از دو روش زير استفاده كنيد :
Tozihat //
يا
فايل tozihat.txt
متغيرها :
متغيرها همهكارهي PHP هستند . يعني شما عمليات محاسبه تون بايد با متغيرها باشه يا اگر بخواين چيزي در صفحه بنويسيد بايد با دستوري كه بعدن توضيح ميدم از متغير ها استفاده كنيد .
براي ارزش دادن به متغير بايد از روش زير استفاده كنيد :
;25 = variable$
اينطوري ارزش متغير variable ميشه 25 . ولي اگر بخواين يه كلمه ارزش متغير باشه ، بايد از يكي از دو روش زير استفاده كنيد :
فايل variable1.txt يا فايل variable2.txt
توجه كنيد كه اگر ميخواهيد از كد HTML در متغير استفاده كنيد ، بهتر است از روش اول استفاده كنيد . چون تگ HTML براي ارزش دادن از " استفاده ميكنه و با PHP قاطي ميشه و Error ميده .
نوشتن در صفحه
از دستور echo استفاده كنيد .
اگر نميخواهيد از متغيرها استفاده نكنيد كه كار جالبي نيست ، از روش زير استفاده كنيد
فايل echo1.txt يا فايل echo2.txt
ولي حرفهاي ها از روش فايل varecho.txt استفاده ميكنن .
يه مثال هم در فايل echo.php هست كه با كپي كردن در روت اصلي عباراتي بر روي صفحه ميبينيد . سعي كنيد با نوت پد توي خروجي تغييراتي اعمال كنيد . بهترين مزيت اين روش اينه كه اگه برنامهي شما انگليسي باشه و يه نفر بعدن بخواهد اونو به ايتاليايي تبديل كنه ، خيلي راحت ارزش متغيرها را عوض ميكنه . فابل echo.php رو مطالعه بكنيد و سعي كنيد يكي ديگه رو خودتون درست كنيد . البته دقت كنيد كه جملات هم تو متغير جا ميشن . ولي من كلمه كلمه جدا كردم .
توصيف برنامهي echo.php :
خط اول PHP رو شروع ميكنه . خط دوم متغيري را تعريف ميكند كه با echo كردن آن ، برنامه به خط بعد ميرود . توجه كنيد كه ارزش متغير فوق يك كد html است . خطوط 3 تا 10 هم كلمات را در متغير هايي قرار ميدهد . خطوط 11 تا 13 هم ارزش متغيرها رو نشون ميده و خط 14 برنامه رو تموم ميكنه .
توجه كنيد كه اين برنامه رو ميشه مثل echo2.php هم نوشت .
sunyboy
01-17-2009, 01:49 AM
شناخته می شود ، یك زبان اسکریپت “PHP : Hypertext Preprocessor “ که با نام کامل PHP
Java ، C از زبانهای PHP و دستورات (syntax) می باشد . بیشترترکیب ها HTML نویسی توکار
گرفته شده و قابلیتهای منحصر به فردی به آن اضافه گردیده است . هدف اصلی از این زبان Perl و
آنست
که به توسعه دهندگان وب امکان دهد تا به سرعت ، صفحات پویایی را تولید نمایند.
PDF امروزه صرفا یك پیش پرداز ابرمتن نیست . شما می توانید تصاویر ، فایلهای PHP توجه کنید که
و
تولید نموده یا بکار گیرید . PHP حتی پویانمایی های ” فلش “ را با اسکریپت های ساده
چه توانایی هایی دارد ؟ PHP
قابل اجرا CGI می توانید تمام کارهایی را که با سایر برنامه های PHP در ساده ترین سطح ، با
هستند ،
تولید صفحات پویا و یا ارسال و دریافت ، HTML انجام دهید. مانند گردآوری داده از فرم های
پشتیبانی آن از بسیاری پایگاه داده هاست ، PHP ها. شاید قوی ترین و مهمترین خاصیت Cookie
نوشتن یك صفحه مرتبط با پایگاه داده به طرز غیر قابل باوری ، ساده است . هم اکنون این پایگاه
پشتیبانی می شوند. PHP داد هها توسط
Adabas D Ingres Oracle(OCI7andOCI8)
dBase InterBase Ovrimos
Empress FrontBase PostgreSQL
FilePro mSQL Solid
Hyperwave DirectMS-SQL Sybase
IBM DB2 MySQL Velocis
Informix ODBC Unix dbm
__________________
sunyboy
01-17-2009, 01:51 AM
،NNTP ، SNMP، IMAP همچنین برای ارتباط با سایر سرویس ها ، از پروتکل هایی مانند PHP
و بسیاری دیگر پشتیبانی می کند. HTTP ، POP3
PHP تاریخچه مختصری از
شکل گرفت . Rasmus Lerdorf (rasmus@php.net) در پاییز سال ۱۹۹۴ توسط PHP فکر اولیه
در صفحه شخصی وی به کار گرفته شد ، تا اطلاعاتی از کسانی که رزومه وی را PHP در ابتدا نگارشی از
” Personal را می بینند ، نگاه داشته شود. اولین نگارش عمومی آن در اوایل سال ۹۵ ارایه شد و با نام
معرفی گردید . که البته شامل پارسری بسیار ساده بود که ماکرو های خاصی Home Page Tools “
Guestbook را می شناخت و نیز برخی کاربردهای مشترك در صفحات شخصی مانند شمارنده یا
وبرخی ابزارر های دیگر را شامل می شد.
نام بسته FI . نگارش ۲ “ ارایه گردید PHP/FI “ پارسر در نیمه سال ۹۵ بازنویسی شد و با نام
را تفسیر می کرد . پس از آن بسیاری HTML بود که فرم های داده Rasmus نرم افزاری دیگری از
در کد های خود استفاده کردند . در میانه سال ۹۶ میزان استفاده کنندگان به حدود ۱۵ PHP از
هزار سایت رسید . این میزان در نیمه سال ۹۷ در حدود ۵۰ هزار سایت مختلف بود. در همین زمان
از حالت یك پروژه شخصی درآمد و توسط تیمی توسعه یافت . این گروه نگارش جدیدی از PHP
به سرعت مورد استفاده قرار گرفت . هم PHP را ارایه دادند و پارسر آن را بازنویسی نمودند. 3 PHP
برای بدست Zend آخرین نگارش این محصول است که در آن از موتور اسکریپت PHP اکنون نیز 4
آوردن قابلیت های بیشتر استفاده شده است .
“RedHat’s Stronghold بر روی بسیاری از محصولات تجاری مانند PHP و 4 PHP امروزه ، 3
استفاده PHP ارایه می گردد. هم اکنون برآورد می شود بیش ۵٫۱۰۰٫۰۰۰ سایت از web Server”
مایکروسافت استفاده می کنند IIS کرده اند که این میزان اندکی از تمامی سایتهای که از سرور های
5.03 میلیون) بیشتر است. )
استفاده کنیم ؟ PHP چگونه از
http://www.php.net است که می توان آنرا از سایت Open source نرم افزاری رایگان و PHP
طراحی شده اند معرفی گردیده PHP دریافت کرد. در این سایت بسیاری از نرم افزار هایی که برای کار با
و معرفی دستورات و توابع آن PHP و می توانید از آنها استفاده نمایید.همچنین دستورالعمل استفاده از
ویندوز در دسترس شماست. Help و فایل PDF ، Html درقالبهای مختلف از جمله
که یك بسته نرم افزاری رایگان است و در آن علاوه بر مفسر “ PHP Traid “ البته ابزارهایی مانند
Apache و نسخه تحت ویندوز وب سرور MySQL موتور پایگاه داده ، Perl مفسر زبان ، PHP
PHPED می باشد ویا نرم افزار MySQL و پایگاه داده PHP قرار گرفته ، ابزار مناسبی جهت کار با
http://download.com فراهم می آورد. از سایت Perl و PHP که محیطی دیداری جهت کار با
قابل تهیه می باشند.
PHP آموزش
است . تاکید این آموزش بر روی راهنمایی دادن PHP آنچه می آید راهنمایی کاربردی برای آغاز کار بار
را انجام می دهند ، و نیز پاسخ دهی به SQL و پایگاه داده های web به مبتدیانی که کاربردهای کوچك
و.. می با شد . mail پرسشهای عمومی مانند چگونگی ارسال یك فرم توسط
PHP ۱- نخستین گام با
هماهنگ در یك سایت (footer) و زیر صفحه (header) ۲- ساخت سرآمد
mail برای ساخت و ارسال PHP ۳- استفاده از
برای تماس با یك پایگاه داده راه دور. MyODBC ۴- استفاده از
PHP ۵- اجرای ایمن اسکریپت های
PHP نخستین گام با
PHP معرفی . I
زبانی برای ساخت آسان صفحات پویای وب می باشد . این زبان راهی ساده تر برای انجام برنامه- PHP
نویسی های مربوط به وب را فراهم می ساز د ، که پیش از این صرفا توسط زبانهای پیچیده و توانمندی
انجام می شده است . Perl و C مانند
به صورت ایده آلی به وب متصل شده است . چون اسکریپتهای آن درون صفحات وب و در PHP
یك زبان اسکریپت نویسی ” توکار “ خوانده PHP ، جای می گیرند HTML میان تگ ها و محتوای
می شود
توسعه دهندگان می توانند برنامه هایشان را در صفحات وب جاسازی نموده و آنرا پویا سازند.
همزمان می توانند داراری PHP آنها می توانند با برنامه ، همچون صفحات وب رفتار کنند. صفحات
باشند. این قابلیت به شما اجازه می دهد تا کاربردهای وب PHP و نیز کدهای HTML محتوای معمول
را بسرعت توسعه دهید.
تفاوت آشکاری میان بخش کدهای PHP ، به هر حال ، برخلاف برخی زبانهای اسکریپت نویسی وب
ایجاد می کند. HTML و محتوای PHP
دریافت می کند. ابتدا در صفحه به PHP هنگامی که یك وب سرور درخواستی را برای صفحات
نیز HTML می گردد و هر آنجه را که یافت اجرا می کند . بخشهای معمولی PHP دنبال کدهای
بدون تغییر به مرورگر ارسال می گردد.
استفاده کنیم ؟ PHP چرا از .II
برای ایجاد محتوای محاوره ای PHP بودن آن ، دلایل بسیاری برای انتخاب Open Source گذشته از
بر روی سایت های وب ، وجود دارد.
دارد . C ساختار و ترکیبی بسیار شبیه زبان
می PHP. به آسانی آموخته و به کار گرفته می شوند PHP ، (Structures) نوع داده ها و ساختارهای
داند منظور شما چیست و نوع های داده را ، خود تغییر می دهد.
نیازی به دانستن دستور خاصی برای کامپایل برنامه ندارید ، برنامه شما خود ، در مرورگر اجرا می شود
زیاد اطلاع داشته باشید . PHP لازم نیست برای ابتدای کار و نوشتن برنامه های کاربردی در باره
را ارایه می دهد که به آسانی درون زبان قرارگرفته C سرویسی از مجموعه فایل های کتابخانه ای PHP
و با انعطاف بسیار به آن قابلیت پاسخ دهی سریع برای تغییرات در وب را می دهد .
برای کار در PHP انجام دهید ، با دیگر زبانها نیز قابل انجام است . اما PHP آنچه شما می توانید با
زمینه وب طراحی شده است . بنابراین کارهایی مشکل و خسته کننده برای برنامه نویسان که نوشتن
انجام می شود. PHP آنها را به زحمت می انداخت ، به آسانی با Perl آن در
وب سایت ها را قادر می سازد که با سرعت مبهوت کننده ای گسترش یابند . به این خاطر PHP
بسرعت برای صفحات پویا و پشتیبانی پایگاه داده ها به کار گرفته شده است .
کد های کوچك توکار در یك صفحه وب بسیار کارآمدند . به عنوان مثال ، در یك صفحه وب ایستا
ممکن است شما مقدار یك متغیر را بدست آورید . و سپس آنرا برای تغییرات پویای محتوای صفحه به کار
عبارتی را که نشانگر مرورگر وب کاربر است بر روی صفحه نمایش می دهد . ، PHP برید. این مثال
<?php
$browser = getenv("HTTP_USER_AGENT");
?>
<P>You are using the <?php echo($browser);?> web
browser.
</P>
sunyboy
01-17-2009, 01:51 AM
چند مثال . III
Hello World ( الف
آنست که شروع به کار با آن کنید و ببینید که چه رخ می دهد. ما با PHP سریعترین راه برای آموختن
که شما پیش از این در آموختن سایر زبانها نیز آنرا به کار برده اید، “Hello World “ مثال معروف
را در مرورگر به “HELLO WORLD” را آغاز می کنیم . این مثال ساده عبارت PHP کار با
می نویسد. echo () وسیله تابع
<?php
echo("Hello World\n");
?>
sunyboy
01-17-2009, 01:52 AM
یك تابع echo() یك یا چند رشته متنی را به مرورگر برای نمایش می فرستد . در واقع echo ( ) تابع
نیست بلکه یك ساختار زبان است . اما مانند یك تابع عمل می کند. به ابن خاطر نیازی به پرانتزها
نیست و می توانید از آنها صرف نظر کنید.
بپردازیم . PHP اکنون اجازه دهید به برخی از ترکیبهای دستوری معمول در اسکریپت های
با علامتهای ” کوچکتر از “ و ” بزرگتر از “ نشانه گذاری می شود . که پس PHP ابتدا وانتهای بخش
نیز “ \n” . و یا پیش از آنها یك علامت سوال آمده است . پایان هرخط با یك ” ; “ مشخص می شود
یك خط جدید ایجاد می کند . و عبارات پس از آن در خط جدید نوشته می شود .
کد بالا را می توان به این شکل نیز نوشت .
<?php
echo "Hello World\n";
?>
sunyboy
01-17-2009, 01:53 AM
Hello Web ( ب
را برای وب که پایه محاوره ای آن فرم هاست ، بازنویسی می کنیم. این Hello World مثال معروف
مثالی بسیار ساده از به کار گرفتن اسکریپت ، توسط یك فرم در مرورگر است . این اسکریپت یك ورودی از
کاربر ” نام وی “ را دریافت می کند و در پاسخ این نام را در پنجره مرورگر نمایش می دهد .
<form action="hello-web.php3" method="post">
<td>Name:</td>
<td><input type="text" name="frmName" size="24">
<input type="submit" value="Submit">
</form>
sunyboy
01-17-2009, 01:54 AM
Hello-web.html
مقادیر ارسال شده از فرم را می پذیرد و خود متغییر هایی به نام متغییرهای ورودی می ، PHP چون
در خود این قابلیت را دارد که به PHP سازد ، فقط یك خط برای تولید پاسخ کافیست . و به خاطر اینکه
ایجاد می HTTP (header) عنوان یك پرونده وب عمل کند ، اسکریپت به طور خودکار یك سرآمد
کند .تا برای مرورگر مشخص نماید که چه متنی را نمایش دهد.
Hello <?php echo($frmName); ?>!
sunyboy
01-17-2009, 01:54 AM
hello-web.php3
را Hello و بعد از آن P را به مرورگر می فرستد . سپس تگ Html سرآمد فایل P HP ، در ابتدا
رسید آن را اجرا و نتیجه را به مرورگر ارسال کرده و PHP نمایش می دهد. ، هنگامی که به تگ آغازین
می رود و سایر بخشها را بدون تغییر ارسال می کند. HTML به حالت ، P HP بعد از تگ پایانی
و یا متغییرهای محلی که دارای URL یك متغیر می تواند از مقادیر ورودی یك فرم ، یا پارامتر
مقدار هستند ، تشکیل شود .
فوق را انجام دهد . این PHP و html تولید نمود که وظایف دو فایل PHP همچنین می توان یك فایل
فایل با تغییرات بسیار جزئی و از پیوند دو فایل پیشین پدید می آید.
دارا بودن محتوای پویا . IV
آشنا شویم . PHP بیشتر با “Tip of the Day “ بیایید بوسیله اسکریپت
در این مثال با توابع و ایده های جدیدی آشنا می شوید که البته لزومی ندارد همه آن را یکباره
بیاموزید .همچنین این اسکریپت ، مقدمه ای است برای کار با سیستم فایل .
<?php
srand((double)microtime()*1000000);
$tiplist = file("photo.tips");
$ntips = sizeof($tiplist);
$rtip = rand(0,$ntips-1);
$tip = $tiplist[$rtip];
echo $tip;
?>
sunyboy
01-17-2009, 01:55 AM
را فراخوانی می کند. نیاز به نوشتن چیزی در فایل “photo.tips” سطر دوم اسکریپت ، فایلی به نام
سبب می file () نیست چون ما فقط یك سطر از این فایل را خوانده و نمایش می دهیم . استفاده از تابع
ذخیره شود . نیازی به مشخص کردن یك $tiplist شود تا هر سطر فایل مربوطه ، در یك عنصر آرایه
یك نام را به عنوان آرگومان می پذیرد و خروجی file () برای استفاده از این تابع نیست .تابع handle
آن یك آرایه است که هر عضو آرایه با یك سطر فایل برابر است .
می sizeof دارای چندین مطلب می باشد که هر کدام در یك خط قرار دارند . توسط تابع tips فایل
ها نیز هست را پیدا کرد. این تابع tip توان تعداد سطر های موجود در فایل که مشخص کننده تعداد
تعداد عناصر یك آرایه را معین می کند . در سطر بعد ، یك عدد تصادفی میان صفر و تعداد عناصر
تولید می کند . چون اندیس آرایه در m و n یك عدد رندم میان rand(n,m) . آرایه تولید می شود
از ۰ شروع می شود ، PHP
ما تابع رندم خود را میان صفر و تعداد عناصر منهای یك ، تنظیم می کنیم .عدد تولید شده به عنوان
نمایش داده echo () اندیس آرایه به کار می رود. متنی که به صورت تصادفی انتخاب شده توسط تابع
می شود.
ایجاد سرآمد و زیر صفحه هماهنگ برای یك سایت
قرار می گیرند ؟ PHP درکد (footer) و زیر صفحه (header) چگونه سرآمد . I
توانایی آن در کاهش میزان اعمالی است که برای نگهداری ، PHP یکی از توانمندترین خصوصیات
سایت بایستی انجام دهید. با به کارگیری الگویی سازگار با سایت ، شما می توانید زحمتی را که برای
ایجاد صفحات
جدید نیاز است را کاهش دهید . همچنین می توانید به آسانی طراحی کل سایت خود را تغییر دهید .
این مثال
کاربردی ، چگونگی به کارگیری و دستیابی به یك الگوی سایت را به شما آموزش می دهد.
است . آنها شامل تمام اطلاعاتی HTML ها توسط تگهای footer و header اولین مساله ، طراحی
هستند
از صفحه شما را در HEAD که بایستی در تمامی صفحات شما نمایش داده شوند. سرآمد معمولا بخش
بردارد.
و شاید آگهی های سایت و یك منو و سر آغاز صفحه .
و اطلاعات تماس برای سایت شماست . Copyright معمولا شامل اعلان Footer
header1:
<HEAD>
<TITLE>>My Cool Site</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1>The Coolest Site Ever</H1>
footer1:
<PRE>
</PRE>
<CENTER>
<A HREF="http://www.coolsite.loc/legal.php3">Copyright</A> 1999 By
Me<BR>
Written by: <I>The Author</I><BR>
Questions? Write to <B>me@coolsite.loc</B><BR>
</CENTER>
</BODY>
sunyboy
01-17-2009, 01:57 AM
سر آمد و زیر صفحه های پویا .II
مرحله بعد جانشین کردن بخشهایی از سرآمد و زیرصفحه ها ، که می خواهید پویا باشند ، با تگ ها
است .این بخشها می توانند شامل عنوان ، کلمات کلیدی ، توضیحات ، نشانی PHP و اسکریپت های
پست- الکترونیك و ... باشد .
header2:
<HEAD>
<TITLE><?php print $strTitle; ?></TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1><?php print $strCaption; ?></H1>
footer2:
<PRE>
</PRE>
<CENTER>
<A HREF="http://www.coolsite.loc/legal.php3">Copyright
</A>
1999 By Me<BR>
Written by: <I><?php print $strAuthor;
?></I><BR>
Questions? Write to <B><?php print $strContact;
?></B><BR>
</CENTER>
</BODY>
sunyboy
01-17-2009, 01:57 AM
اکنون شما بایستی بتوانید در تمام صفحات خود به آنها دسترسی داشته باشید . این مرحله آسانتر از
دسترسی داشته باشند ، footer و header آنست که تصور می کنید. فایلهایی که می خواهند به
را فراخوانی کرده ، محتوای اختصاصی هر صفحه را header ، بایستی متغیرها را مقدار دهی کنند
را فراخوانی نمایید. یك مثال : footer نوشته و سپس
<?PHP
$strTitle = 'My Cool Site';
$strCaption = 'The Coolest Site Ever';
$strAuthor = 'The Author';
$strContact = 'me@coolsite.loc';
require ('/path/to/includes/header.php3');
?>
<P>This is a the text of your page. Make it as fancy as you want!</P>
<?PHP
require ('/path/to/includes/footer.php3');
?>
sunyboy
01-17-2009, 01:58 AM
main1
جداسازی محتوا از علائم . III
بسیار خوب ، اکنون می خواهیم مثال پیچیده تری بیاوریم . مثلا شما می خواهید ، قادر باشید که
کل سایت خود را به آسانی و یکباره تغییر دهید . ساده footer و header مقادیر متغییرهای پویا
ترین راه برای این کار ، انتقال اطلاعات به یك فایل پیکربندی عمومی و ذخیره کردن بخشهای خاص
صفحه در یك آرایه ، می باشد. به این خاطر باید بدانید که از نظر برنامه نویسی آرایه یك لیست ساده
است که توسط کلید های عددی و یا متنی می توان به اجزا آن دسترسی داشت . یك مثال برای فایل
پیکریندی در زیر آمده است:
config1:
<?PHP $aryConfig = array(
"main" => array (
"title" => "My Cool First Page" ,
"caption" => "Welcome to the Coolest Site Ever" ,
"author" => "The Author" ,
"contact" => "me@coolsite.loc" ) ,
"second" => array (
"title" => "My Cool Second Page" ,
"caption" => "More Coolness!" ,
"author" => "The Other Author" ,
"contact" => "other@coolsite.loc" )
);
?>
sunyboy
01-17-2009, 02:00 AM
فایل پ یکر بند ی فوق اطلاعات هدر را در بر دارد . این فا یل مقاد یر همه م تغیر ها ی پ یکر بند ی را در
تمامی محدوده صفحات سا یت ، قابل دسترس ی م ی کند . اکنون ، پس از آنکه فایل پیکر بندی آماده شد
را با یستی تغ ییر ده ید تا مقاد یر متغ یرها را از آرا یه بخواند . ما هنوز م ی خواه یم footer و header،
بتوانیم مقاد یر سراسر ی را جانش ین مقاد یر محل ی نما ییم . به این صورت که اگر مطمئن شو یم مقدار
محلی موجود نباشد ، از مقادیر سراسری استفاده می شود.
header3:
<?PHP
if (empty ($strTitle)) { $strTitle = $aryConfig[$strPagename]["title"]; }
if (empty ($strCaption)) { $strCaption =
$aryConfig[$strPagename]["caption"]; }
?>
<HEAD>
<TITLE><?php print $strTitle; ?></TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<H1><?php print $strCaption; ?></H1>
١٢
footer3:
<?PHP
if (empty ($strAuthor)) { $strAuthor =
$aryConfig[$strPagename]["author"] } ;
if (empty ($strContact)) { $strContact =
$aryConfig[$strPagename]["contact"] } ;
?>
<PRE>
</PRE<
<CENTER>
<A HREF="http://www.coolsite.loc/legal.php3">Copyright</A> 1999 By
Me<BR>
Written by: <I><?php print $strAuthor; ?></I><BR>
Questions? Write to <B><?php print $strContact; ?></B><BR>
</CENTER>
</BODY>
بایستی تغییر کند . config و در پایان صفحه اصلی نیز برای دسترسی به فایل
main2:
<?PHP
$strPagename = 'main';
require ('/path/to/includes/config.php3');
require ('/path/to/includes/header.php3');
?>
<P>This is a the text of your page. Make it as fancy as you
want!</P>
<?PHP
require ('/path/to/includes/footer.php3');
?>
و در یك مرحله دیگر ، برای شما آسان خواهد بود که متن و محتوای اصلی صفحه را به یك فایل مجزا
PHP منتقل نمایید . این عمل اجازه تغییرات را به آسانی ،و بدون آنکه نگران از دست دادن کدهای
باشید ، در اختیار شما می گذارد . این عمل نیاز به تغییرات جدید در صفحه اصلی و نیز ایجاد یك فایل
دارد. Content
main3:
<?PHP
$strPagename = 'main';
require ('/path/to/includes/header.php3');
require ('/path/to/includes/contents.html');
require ('/path/to/includes/footer.php3');
?>
contents1:
This is a the text of your page. Make it as fancy as you want!
sunyboy
01-17-2009, 02:01 AM
این عمل می تواند نقطه آغاز مناسبی برای شما و برای حرکت به سوی ساخت سایتهای پویا باشد .
Email برای تولید وارسال PHP به کار گیری
Mail بررسی تابع . I
فراهم mail() توسط تابع email زبان برنامه نویس وب محبوب ما روشی دستی و ساده برای ارسال
و با استفاده از واسط استاندارد و ساده ، که mail نموده است . این تابع یك روش کامل برای ارسال
را پنهان می کند : می باشد . mail مشکلات و خصوصیات خاص برنامه های سیستمی مسؤول ارسال
هستند که اگر mail دو مثال از برنامه های محبوب مدیریت ارسال و دریافت Qmail و Sendmail)
شما ، (tutorial) نبود شما بایستی مستقیما با آنها ارتباط برقرار می کردید . ) این آموختار mail تابع
آشنا feedback و ساختن یك فرم ساده PHP توسط اسکریت های email را با مفاهیم اولیه ارسال
می کند .
سه مقدار ضروری و یك مقدار اختیاری را می پذیرد. و نیز مقداری منطقی را که نشان mail() تابع
دهنده موفقیت یا عدم موفقیت ارسال است ، برمی گرداند .
و متن پیام که به ( Subject موضوع پیام ( فیلد ، ( To: نشانی پست الکترونیك گیرنده ( فیلد
(Extra عنوان پارامترهای اصلی به تابع داده می شوند . یك رشته اختیاری که شامل هدر اضافه
است نیز می تواند تعیین شود . ، Header)
bool mail(string msgTo, string msgSubject, string msgBody, string extraHeaders);
برای ارسال یك پیام شما به سادگی پارامترها را مقدار دهی می کنید . در این مثال از رشته های ثابت
استفاده می کنیم تا کاربرد اصلی تابع شرح داده شود . اولین پارامتر نشانی پست الکترونیك فردی را
را ارسال کنیم . دومین پارامتر عنوان و موضوع پیام mail تعیین می کند که ما می خواهیم برای او
را قرار می From: است . پارامتر سوم متن نامه است و در پارامتر چهارم به صورت اختیاری ما هدر
را اضافه می X-Mailer دهیم و در آن نشانی را که می خواهیم پاسخ به آن ارسال شود ، می آوریم . و
کمك کند تا تشخیص بدهد که پیام از یك منبع خودکار ارسال شده email کنیم تا به برنامه مدیریت
است . زمانی که شما یك هدر انتخابی را تولید می کنید بیاد داشته باشید که هر هدر اضافه را با یك
جدا نمایید . وگرنه متن پیام ، ممکن است در هم و غیر قابل استفاده شود . پیام ( \n) linefeed
ارسال plain text های ارسالی از طریق این تابع با فرمت
خواهند شد .
mail ( "knoblock@att.tld", "Use PHP Everyday",
"Don't forget to floss and use PHP everyday!",
"From: hygienist@phphelp.tld\nX-Mailer: My PHP Script\n");
بیشتر اوقات شما نمی خواهید مقادیر پارامترها را با رشته های ثابت پر کنید . بلکه می خواهید
یك فایل ) PHP متغییرهایی را استفاده نمایید . ممکن است بخواهید این مقادیر را از یك بخش اسکریپت
مقدار دهی اولیه ) یا از یك فرم ثبت نام بدست آورید. این عمل همانند آنست که شما بخواهید مقادیر
ارائه شده توسط یك فرم را بکار برید یا متغییرها را به صورت مدون برای ارسال پیام ، تولید نمایید . در
این صورت ، رشته های معین را با متغییرهای رشته ای جانشین می کنیم .
mail ($strMailTo, $strSubject, $strBody, $strXHeaders);
sunyboy
01-17-2009, 02:02 AM
افزودن اطلاعات هدر . II
به شما اجازه می دهد که فیلدهای هدر بیشتری را به هدر پیام mail () همانطور که اشاره شد تایع
مشخص کردن این است که ( Extra Header) خود اضافه نمایید . یك کاربرد برای هدرهای اضافی
پیام بوسیله
remailer یك برنامه تولید شده است . هر اسکریپتی که نامه را تولید کند ، می تواند به عنوان یك
ارسالی از فرم ، از سوی شخصی که فرم را email نامیده شود. گاهی مفید است که به نظر آید
کرده ، فرستاده شده است . مانند زمانی که از یك فرم برای ثبت نام کاربر در یك لیست پستی submit
X-Header با نشانی ثبت نام کننده ، بازنویسی شده و یك From: استفاده می شود . در کد زیر فیلد
شما ارسال شده ، اضافه گردیده است .معین remailer از سوی اسکریپت mail . که مشخص می کند
از یك email از سوی اسکریپت شما می آید برای مدیر سایت مشخص می کند، که mail کردن اینکه
منبع خودکار ارسال شده است و اگرمشکلی باشد ، از سوی اسکریپت شما رخ داده است . ما تابع
ازسال شده ، به کار برده ایم : PHP را برای شناسایی پیامی که از سوی یك اسکریپت phpversion ()
mail($list_request, "Subscribe", "Subscribe", "From: $email_address\nX-Mailer:
PHP/" . phpversion());
در دسترس باشند . به From : برخی لیست سرور ها نیاز دارند که نام و نام خانوادگی کاربر در فیلد
اضافه می کنیم . ضروری است که راهی برای درج From این منظور ، متغیرهایی برای نام ، در فیلد
کوتیشن در یك عبارت که بوسیله کوتیشنها مشخص می شود بیابیم . ( عبارتی که ابتدا و انتها آن با
پیش از علائم کوتیشن (‘\’) backslash کوتیشن مشخص می شود .) به این منظور بایستی از علامت
نام ونام خانوادگی استفاده کرد . نشانی پست الکترونیك در میان دو علامت کوچکتراز و بزرگتر از
قرار می گیرد تا از متن اطراف آن متمایز گردد .
$from = "From: \"$first_name $last_name\"
<$email_address>\nX-Mailer: PHP/" . phpversion();
mail($list_request, "Subscribe", "Subscribe", $from);
استفاده می شود ؟ Mail () چه هنگامی از تابع .III
داشتن یك تابع آسان برای ارسال نامه ، هنگامی که یك اسکریپت بخواهد پیامهای متعددی را ارسال
نماید ، بسیار مفید است . این تابع فقط یك خط از کد را بخود اختصاص می دهد . همچنین کمك می
بخواهد در یك عبارت شرطی بیاید نیز به خوبی حفظ نماید mail () کند تا کد خوانایی خود را ،اگر تابع
و یا معیارهای command syntax بدون هراس از mail . همچنین به خوبی توانایی محاوره با برنامه
Qmail و Sendmail یونیکس را دارد . گرچه واسط mail ایمنی مورد نیاز برای اجرای یك برنامه
اسکریپت شما را تا حدودی در برابر تغییراتی که mail () استاندارد شده اند ، استفاده از تابع
به mail() ایجاد نماید ، حفاظت می کند . استفاده از تابع Sendmail ممکن است مدیر در برنامه
ویا Sendmail با استفاده از mail این معناست که شما مجبور نیستید خودتان تابعی برای ارسال
بنویسید . Qmail
مثال زیر درباره استفاده از چند تابع در یك اسکریپت ، برای آگاه کردن مدیر هنگامی که فرمی تکمیل
پاسخ برای کاربر می باشد .( توجه داشته باشید که این یك email گردید و در همان لحظه ، ارسال یك
طرح اولیه است و ممکن است مثالی عملی نباشد .)
if ($notify)
{
// notify admin
$mailTo = "admin@some.com";
$msgSubject = "Downloading MediaKit";
$msgBody = "$name, $company, $address, $email_address,
$demographics";
$xHeaders = "From: $email_address\nX-Mailer: PHP/" . phpversion();
mail ($mailTo, $msgSubject, $msgBody, $xHeaders);
}
// thank customer
$mailTo = $email_address;
$msgSubject = "Thank You for Downloading our MediaKit";
$msgBody = "Please feel free to contact us if you have any questions or
desire a quote.\nThank You.\n";
$xHeaders = "From: admin@some.com\nX-Mailer: PHP/" . phpversion();
mail ($mailTo, $msgSubject, $msgBody, $xHeaders);
sunyboy
01-17-2009, 02:03 AM
Sendmail ارتباط با برنامه . IV
سیستم را به طور مستقیم بکار برید . شاید بخواهید mail به شما اجازه می دهد که برنامه PHP البته
موجود است ، بکار برید . mail که این کار را با استفاده از مشخصات ویژه ای که فقط در یك برنامه خاص
یا دیگر هدر های اختیاری در روشی From : ایجاد هدر ، sendmail هدف دیگر از فراخوانی مستقیم
خواناتر است .
به این موضوع آشناترند .) به Perl مانند نوشتن در فایل است . ( برنامه نویسان mail فراخوانی یك برنامه
پیام شما ( ” صدازدن “ : روش ارتباط pipe یك برنامه را برای popen () جای باز کردن یك فایل ، تابع
برای puts () ایجاد می نماید . تابع mail مشخص می کند . این تابع یك ارتباط با برنامه (UNIX استاندارد
برقرار شده ،به کار popen () که ارتباط آن بوسیله تابع ، mail نوشتن هدرهای پیام و متن آن در برنامه
متفاوتی را بکار برید ، فکر خوبی است که مسیر mail می رود. چون ممکن است شما بخواهید برنامه
را در یك متغیر ذخیره نمایید . شما می توانید نشانی گیرنده را در متغیری ذخیره popen () موجود در
است . Sendmail کرده تا تغییرات در آن به آسانی انجام شود . اسکریپت زیر مثالی از بکارگیری برنامه
<?php
$fd = popen("/usr/sbin/sendmail -t","w");
fputs($fd, "To: myaddress@domain.tld\n");
fputs($fd, "From: Me \n");
fputs($fd, "Subject: Test message from my web site\n");
fputs($fd, "X-Mailer: PHP3\n");
fputs($fd, "Testing.\n");
pclose($fd);
?>
شما باید به تابع ، نام pipe باز می کند . برای بازکردن یك mail به برنامه pipe یك popen () تابع
می popen به تابع “Write” برای “w” . برنامه و نیز نوع ارتباطی که بایستی برقرار شود را بدهید
نوشته شود “r” برقرار کند . اگر Sendmail به PHP برای ارسال اطلاعات از سوی pipe گوید که یك
هر خط fputs() باز نماید . تابع PHP ، تابع بایستی پایپی در خلاف جهت و برای ارسال اطلاعات به
می نویسد . این تابع نیاز دارد که ما به آن یك اشاره فایل و رشته ای که می Sendmail پیام را در
خواهیم نوشته شود را بدهیم .اشاره گر فایل که هنگام باز شدن فایل آنرا بدست آورده ایم ، می گوید که
وسایل به عنوان فایل در نظر گرفته می شوند . ) پیام خود ، Unix پیام به کجا بایستی ارسال شود . ( در
بسته می شود . pclose () شامل یك رشته است . هنگامی که کار ما پایان یافت ، پایپ بوسیله تابع
برای کاهش میزان اشتباه به کار برید . Sendmail را هنگام کار کردن مستقیم با (-t) توجه : گزینه
پیام را تجزیه h andle می گوید که Sendmail به (-t) انتخاب : Sendmail بنابه توضیحات برنامه
١٨
بکار برد . تایك لیست مشخص و مجزا از ( BCc و Cc ، To : کند . و تمامی انواع گیرندگان را ( مانند
این امتیاز را در حالی به شما می دهد که امکان Sendmail گیرندها بدست آید . خط فرمان ساده
معرفی گیرنده غیر از آنچه در هدر ها لیست شده را از دست می دهید .
ایجاد نشانی پست الکترونیك پوششی است .اگر ، mail یك هدف دیگر از دسترسی مستقیم به برنامه
برای ارسال mail () شما در میزبان دیگری قرار دارد ، ممکن است شما هنگامی که از تابع mail برنامه
استفاده می کنید ، ببینید پیامها به خاطر اینکه از نشانی ، غیر از نشانی های پوشش یافته ، email
کاهش می Sendmail ارسال شده اند : برگشت می خورند . این مشکل توسط ارتباط مستقیم با برنامه
یابد .
را برای مشخص کردن آدرس پوششی به کار برید. –f سوئیچ
-f email@address.com
// Configuration
$announce_subject = "Message From Our Web Site";
$announce_from_email = "editor@somesite.com";
$announce_from_name = "Our Site";
$announce_to_email = "listaddr@listhost.com";
$body = "Announcement. Our site has a special offer today.
Please visit. Thank you.";
$MP = "/usr/sbin/sendmail -t";
$spec_envelope = 1;
// Access Sendmail
// Conditionally match envelope address
if($spec_envelope)
{
$MP .= " -f $announce_from_email";
}
$fd = popen($MP,"w");
fputs($fd, "To: $announce_to_email\n");
fputs($fd, "From: $announce_from_name
<$announce_from_email>\n");
fputs($fd, "Subject: $announce_subject\n");
fputs($fd, "X-Mailer: PHP3\n");
fputs($fd, $body);
pclose($fd);
sunyboy
01-17-2009, 02:05 AM
email ارسال ایمن .V
سیستم را فراخوانی می کنیم . بایستی مراقب باشیم که چه کاراکترهایی به آن mail هنگامی که برنامه
ارسال کرده ایم . چون ما یك پایپ یونیکس را بازکرده ایم برای کاربران بداندیش این امر را ممکن می
یونیکس را در فرم ورودی بنویسند و بعد آن را به shell های پوسته meta character سازد تا
بفرستند . نتیجه ممکن است فاجعه بار باشد . Sendmail
هنگامی که اسکریپت کنترل کننده یك فرم را می نویسید که قرار است داده های وارد شده توسط کاربران
بفرستند ، شما بایستی به دقت مراقب ورودی های کاربر باشید . به همه کاربران mail را به یك برنامه
های meta character (. آنچنان نگاه کنید که شاید آنها دشمن باشند . ( رفتار غیر مسؤولانه ای دارند
و یا “From :” ، “TO :” استفاده شود مانند Sendmail را ، که بایستی توسط S hell پوسته
از ورودی حذف نمایید . به جای حذف کاراکترهای نادرست می توانید به گونه ای متغیر ، “Subject”
ورودی را تعریف نمایید که صرفا عبارتهای مجاز را دریافت کند . به عنوان مثال ، ورودی خود را به این
شکل تعریف نمایید :
$data =~ s/[^A-Za-z0-9_]//gs;
از یك فرم Mail ارسال . VI
البته هریك از هدرها ویا متن پیام می توانند توسط متغیرهایی معرفی و مقداردهی شوند .این یك مثال
کاملتر از اسکریپت قبلی است که به صورت یك اداره گر ساده فرم، توسعه داده شده است . مثال ،
تقسیم ، Sendmail متغیرهایی را معرفی می کند و کد را به بخش کوچك پیکربندی و اسکریپت آشنای
به عنوان بخش پیکربندی برای مقداردهی متغیرهای کلیدی ، عمل می ، PHP می کند . بخش اول کد
خود را در یك متغیر ذخیره کنید . در این صورت نیازی به mail نماید . مفید است که مسیر برنامه
جستجو در کد و تغییر قسمتهای لازم، در صورتی که مسیر برنامه تغییر کند ، نخواهید داشت . بخش دوم
با هم PHP و HTML کدهای ، PHP را انجام می دهد . در روش صحیح نوشتن mail ، عمل ارسال
آمیخته می شوند تا پس از آنکه فرم کامل شد توسط همان صفحه ، اطلاعات جمع آوری شده، از طریق
( From : به مدیر سایت ارسال شود . اگر فرم شامل نشانی پست الکترونیك پرکننده ، ( فیلد mail
به کاربر و پاسخ دهی به آن را جهت تایید عضویت ، آسان می کند . بر اساس e mail باشد : ارسال یك
در میان دو نشانه ”<“ و ”>“ قالب email با قرار گرفتن نشانی From : ، پروتکلهای مربوطه ، فیلد
بندی شده است :
“ From : $frmName < $frmEmail> \n”
به صورت خودکار P HP هر فرم دارای نام متغیرهای ورودی است . هنگامی که فرم تکمیل و تایید شد
اجزای فرم وجود دارد ، ایجاد می کند و آنها را با NAME متغیرهایی با نام هایی که در خاصیت
اسکریپت در PHP مقادیری که کاربر وارد نموده است مقداردهی می نماید . این متغیرها در بخش
دسترس خواهند بود. برای هر متغیر یك خط شامل مقدار آن ، در پیام تولید شده اضافه می شود .
<?php
/* Configuration -----------------------------------------*/
/* Mail results to this address */
/* Set this to the email address you wish to receive mail */
/* from the form submissions at. */
$TO = "YourEmailId@YourISPDomain.SomeTopLevelDomain";
/* Specify system mail program */
/* Set this to the path to your mail program. Check with */
/* your server administrator for the proper location. */
$MP = "/usr/sbin/sendmail -t";
?>
<?php
/*-------------------------------------------------------*/
/* Decide if we should display a new form or send the */
/* form data by email. */
/* To make this decision, the script can check for the */
/* existence of 1) the action variable defined by a */
/* hidden field; 2) a required form field that you know */
/* will always be set on submission; or you may set the */
/* action variable to a particular value that can be */
/* checked to determine the action to take. I chose */
/* to simply check for the existence of the hidden */
/* action variable (which is always set as long as we */
/* give a value in the hidden field). */
/*-------------------------------------------------------*/
if ($frmAction)
{
/*-------------------------------------------------------*/
/* A thank you message (or other response) goes here. We */
/* switch to HTML mode to make it easy to include any */
/* tags you wish without worrying about quoted */
/* attributes. */
/*-------------------------------------------------------*/
?>
<div align="center">
<table width="350" border="2">
<tr>
<td bgcolor="#C0C0C0">
<p>Thank you for requesting a personalized quote for our products
and services.
</p>
</td>
</tr>
٢١
</table>
</div>
<?php
/*-------------------------------------------------------*/
/* The real work gets done here by opening a pipe to */
/* sendmail, which sends the contents of the submitted */
/* form by email to the address specified in the */
/* configuation section (which can acutally be an */
/* an included initialization file if you want to get */
/* fancy). For each variable we expect the form to */
/* to submit, we output as part of the email. */
/*-------------------------------------------------------*/
$fd = popen($MP,"w");
fputs($fd, "To: $TO\n");
fputs($fd, "From: $frmName <$frmEmail>\n");
fputs($fd, "Subject: Message from your web site\n");
fputs($fd, "X-Mailer: PHP3\n");
fputs($fd, "Name: $frmName\n");
fputs($fd, "Phone: $frmPhone\n");
fputs($fd, "Fax: $frmFax\n");
fputs($fd, "Email: $frmEmail\n");
fputs($fd, "Address: $frmAddress\n");
fputs($fd, "Price range: $frmPriceRange\n");
fputs($fd, "Details: $frmFurther");
pclose($fd);
/*-------------------------------------------------------*/
/* Here the script must exit so we don't display the */
/* form again once the thank you message has been */
/* displayed and the mail sent. */
/*-------------------------------------------------------*/
exit;
} else {
// start else clause
?>
<div align="center">
<form action="mail.php3" method="post">
<table>
<tr><td colspan="2">
<p>Please enter your information for a personal quote.
</p>
</td>
</tr>
<tr>
<td>Name:</td>
<td><input type="text" name="frmName" size="24">
</td>
</tr>
<tr>
<td>Phone:</td>
٢٢
<td><input type="text" name="frmPhone" size="24">
</td>
</tr>
<tr>
<td>Fax:
</td>
<td><input type="text" name="frmFax" size="24">
</td>
</tr>
<tr>
<td>Email:
</td>
<td> <input type="text" name="frmEmail" size="24"><br>
</td>
</tr>
<tr>
<td>Address:
</td>
<td><input type="text" name="frmAddress" size="24">
</td>
</tr>
<tr>
<td>Price Range:
</td>
<td><input type="text" name="frmPriceRange" size="24">
</td>
</tr>
<tr>
<td>Details:
</td>
<td><input type="text" name="frmFurther" size="24">
</td>
</tr>
<tr>
<td>
<!-- To determine whether the script should display the form or
mail the data, you can check for existence of a required field or
this special action variable. -->
<input type="hidden" name="frmAction" value="formmail">
<input type="submit" value="Submit">
</td>
<td>
</td>
</table>
</div>
<br>
</form>
<?php
} // end else clause
?>
sunyboy
01-17-2009, 02:06 AM
پذیرش HTML این دستورالعمل مثالی از اینکه چگونه یك اسکریپت وب می تواند برای تولید فرم
مقادیر تاییده شده فرم ، بکار رود است . این امر اینگونه رخ می دهد : در اولین باری که اسکریپت
ارسال می گردد . اسکریپت (client) فرم به مرورگر مشتری HTML فراخوانده می شود ، بخشهای
فرم ، برای فراخوانی همان action پس از آن بیکار می ماند تا کاربر مقادیر فرم را تایید کند . پارامتر
اسکریپت تنظیم شده است . اسکریپت به مقادیر توجه می کند تا ببیند آیا از سوی فرم فراخوانی شده
به صورت مخفی درنظر گرفت تا براساس مقادیر ارسالی ، action است؟همچنین می توان متغیری برای
مقداردهی شود . action متغییر
این مثال ، یك اسکریپت آموزشی است و به تعداد ورودی مرتبط است . می توان اداراه گر فرمی ساخت که
برای هر فرم بدون توجه به تعداد ورودی ها عمل نماید .
برای اتصال به یك پایگاه داده راه دور MyODBC به کارگیری
MyODBC اصول اولیه استفاده از . I
راه انداز ( source) است . منبع ODBC پشتیبانی کامل آن از MySQL یکی از گیرا ترین خصوصیات
در اختیار ODBC برای علاقمندان در اکثر مراکزتوسعه و بهینه سازی دستیابی به ODBC و واسط
پشتیبانی شده است . شما می توانید از MySQL و بسیاری دیگر در ODBC است . همه توابع 2.5
خود استفاده نمایید . این آموختار نیز MySQL ( برای تماس با کارگزار (سرور M icrosoft Access
MySQL برای سرویس دهنده پایگاه داده ODBC یك راه انداز M yODBC . بر این اساس است
تولید گردیده است . توسط برنامه TCX Data-Consult است که توسط شرکت سوئدی
پشتیبانی می کند . ODBC(Open DataBase Connectivity) از MySQL ، MyODBC
استفاده می کنیم ؟ MyODBC - چرا برای اتصال از
شما می توانید : MyODBC با
- ارتباط با سرویس دهنده پایگاه داده راه دور را ، از هر نقطه ای که شما به یك برنامه رومیزی مانند
دسترسی داشته باشید، برقرار نمایید . Microsoft Access
یك پایگاه داده به یك سرویس دهنده راه دور (Export) - ارسال
یك پایگاه داده از یك سرویس دهنده راه دور (Import ) - دریافت
یك پایگاه داده محلی به یك پایگاه داده راه دور (link) - اتصال
خود را online برای ارسال یك پایگاه داده هنگامی که شما اولین پایگاه داده راه دور یا : Exporting
قرار O nline ایجاد می کنید ، کارآمد است .اگر شما یك پایگاه داده دارید که می خواهید آن را به صورت
نمایید . این عمل (export) ارسال ODBC بوسیله یك اتصال MySQL به Access دهید . آنرا از
به نوآموزان اجازه می دهد تا پایگاه داده های خود را بدون MyODBC . بسیار آسان انجام خواهد شد
های سودمند ، در اینترنت قرار دهند .نکته مهم application یا Unix نیاز به آموختن فرمانهای پوسته
یك پردازش ایستا در ارسال یك جدول از سرویس دهنده محلی exporting آنست که توجه داشته باشید
راه دور در هر بار انجام آن ، می باشد . معمولا فیدبکی از شاخص پیشرفت عملیات (server) به کارگزار
SQL به کارگزار SQL می کنید ، دستورات export دریافت نمی شود . هنگامی که شما یك جدول را
و برای درج داده CREATE TABLE راه دور، فرستاده می شوند . برای ایجاد یك جدول، دستور
راه دور ارسال می شوند . اگر جدول پیش از این ایجاد شده باشد ، SQL به کارگزار INSERT، ارسالی
UPDATE فرستاده نخواهد شد و اطلاعات جدید ارسالی از دستور CEARTE TABLE عبارت
استفاده می کنند .
دریافت جدول از یك پایگاه داده راه دور هنگامی که شما می خواهید یك گزارش از : Importing
یك جدول به import اطلاعات ذخیره شده در آن تهیه نمایید ، می تواند بسیار ارزشمند باشد . با
گرد آوری شده اند ، online شما می توانید ، نمودارها یا گزارشهایی از داده هایی که به صورت Access
به آسانی تهیه نمایید . نکته مهم آنست که دریافت یك جدول از یك پایگاه داده راه دور ، در یك سرویس
دهنده محلی پردازشی ایستاست و معمولا فیدبکی از شاخص پیشرفت دریافت نمی شود .
پیوند دهی ؛ هنگامی که شما یك جدول محلی را به یك جدول راه دور متصل می کنید ، به :Linking
می دهید Access کاربران محلی خود اجازه تغییرات در جدول راه دور را از طریق واسط گرافیکی کاربر
به جدول محلی اضافه شود و یا تغییر نماید؛ ، Access . برای مثال ، اگر یك سطر بوسیله یك فرم
تغییرات در جدول پیوند شده راه دور نیز اعمال می گردد وآنرا به هنگام می کند .این ارتباط به کاربران
خود را به وسیله محیطی دوست داشتنی و با کاربری online مبتدی اجازه می دهدکه پایگاه داده های
ساده ، نگه داری نمایند . یکی از فواید اتصال جداول آنست که هر تغییری که توسط کاربرد پایگاه داده
محلی صورت پذیرد ؛ در پایگاه داده راه دور نیز اثرخواهد کرد .این عمل پردازشها بر روی پایگاه داده راه
دور را بیشتر قابل رؤیت می کند .
نیز انجام داد . براخی Unix و خط فرمان پوسته MySQL تمامی این اهداف را می توان با استفاده از
اوقات کارشناسان ومتخصصین کار کردن با خط فرمان را بیشتر می پسندند . اما برای بسیاری از مردم
راهی آسان برای دریافت داده هایشان از کارگزار راه دور، و یا ODBC ( ها و کارکنان اداری client)
می باشد . online تولید نمودارهای قالب بدنی شده‘ دلپذیر و گزارشهای مناسبی از داده های
یك گزینه مهم در میان ابزار های مورد نیاز توسعه دهنگان است . که به شما اجازه می دهد MyODBC
شان بوسیله چارچوب و برنامه online ، تا به مشتریان یك واسط ساده و منعطف برای پایگاه داده های
کاربردی - که با آن راحت هستند - معرفی نمایید . برای توسعه دهندگان کاربردهای وب ، اجازه یافتن
کاربران برای به هنگام رسانی پایگاه داده های راه دور از محل کار ، باعث صرفه جویی در زمان می شود .
PHP ورود داده و مدیریت پایگاه داده می تواند از محل کار درست در زمانی انجام شود که یك اسکریپت
صفحات پویایی را بر پایه اطلاعات جداول پایگاه داده ، تولید می نماید .
MyODBC (Download) بارگذاری . II
به نشانی MySQL سایت Downloads در بخش MyODBC بسته قابل بارگذاری
بروید و MySQL موجود است . به بخش نرم افزارهای مرتبط با http://www.mysql.com (http://www.pnu.daneshjuha.org/redirector.php?url=http%3A%2F%2Fwww.mysql.com)
را انتخاب نمایید . Download for MyODBC
را آزمایش نمایید ، سایتی را برگزینید M ySQL توجه : برای بارگذاری سریعتر یکی از سایتهای آینه ای
که به شما نزدیکتر باشد .
در Unix به خوبی گونه های مختلف موجود در N T و چارچوبهای windows 9x برای MyODBC
در بسته فوق موجود است . اگر شما صرفا برنامه کاربردی آن را MyODBC دسترس است . کد منبع
موجود در بسته چشمپوشی نموده و فقط برنامه C می خواهید می توانید بدون مشکل ، از کدهای
اجرایی را نصب نمایید .
توزیع شده است ، چون یك اشکال NT و win 9x در نسخه های مجزایی برای MyODBC : توجه
از شناسایی سیستم عامل جلوگیری می کند . ، Microsoft ODBC در نصب
شماره ۲٫۵ است . آخرین نگارش از بسته قابل بارگذاری در نشانی زیر موجود ، MyODBC نگارش فعلی
مطمئن شوید که آخرین نگارش که . http://www.mysql.com/doanloads/myodbc (http://www.pnu.daneshjuha.org/redirector.php?url=http%3A%2F%2Fwww.mysql.com%2Fdo anloads%2Fmyodbc) : است
MyODBC تمامی بروز رسانی ها و رفع نواقص را در بر دارد مورد استفاده قرار می دهید . فایل فشرده
1 است. .5 MB در حدود
MyODBC نصب
را اجرا نمایید . هنگامی که شما پردازش نصب را آغاز نمودید ، اولین پنجره ای که setup.exe فایل
کلیك “ continue “ است که بایستی بر روی MS ODBC مشاهده خواهید کرد ؛ پنجره نصب
OK را انتخاب نموده و بر روی MySQL . نمایید . در این بخش پنجره نصب راه اندازها پدیدار می شود
کلیك نمایید. اگر مشکلی در نصب پیش آید گزینه نصب وابسته به نگارش را که با کلیك کردن بر دکمه
Advanced Installation خواهید یافت ، انتخاب کنید . این دکمه پنجره محاوره Advanced
را خواهد آورد . Options
به MyODBC موجود است . اگر راه انداز v ersion اطلاعات بیشتر در مورد نگارش راه انداز در پنجره
است . D ata Source درستی نصب شده باشد ، پنجره بعدی که مشاهده خواهید کرد مربوط به محاوره
ندارد . شما می توانید با MyODBC است و ربطی به MS ODBC این پنجره محاوره ، بخشی از
فراخوانی
MyODBC یك مثال از منبع داده ای که توسط ، Data Source در پنجره Sample MySQL
setup را انتخاب کرده و دکمه MySQL entry نصب شده است را ملاحظه نمایید . اگرچه می توانید
پیکربندی خواهیم کرد . هنگامی که MS Access را برای ادامه کلیك کنید . اما ما اتصال راه دور را از
جدید . ODBC کار به اتمام رسید ، شما بایستی پیامی مبنی بر پایان موفقیت آمیز نصب راه انداز
کلیك کنید . OK مشاهده نمایید . سپس بر
پیکربندی و برقراری تماس . III
- ایجاد ارتباط با یك پایگاه داده راه دور موجو د.
برای ارتباط با پایگاه داده راه دور استفاده می کنیم Access پس از آنکه شما راه انداز را نصب کردید ، از
. پایگاه داده باید برای دسترسی راه دور تنظیم شده باشد . در بسیاری از ارائه دهنگان خدمات میزبانی
وب ، این عمل فقط با یك درخواست انجام می شود . لطفا از مدیر یا گروه پشتیبانی ارائه دهنده خدمات
پرسش نمایید . MySQL میزبانی وب خود ، درباره فعال سازی دستیابی راه دور به پایگاه داده
Data Source Name مناسب را انتخاب و یك ODBC را ایجاد کنید . راه انداز Data Source یك
برای برنامه های کاربردی ویندوز ، ایجاد نمایید . برخی تنظیمات پیچیده و بسیاری اصطلاحات (DSN)
که شما ممکن است با آنها نا آشنا باشید ، وجود دارد . اما براحتی مراحل را دنبال کنید تا به پایان ویزارد
برسید .
D ata Source در پنجره New کلیك نمایید. بر روی File | Get External Data |Import برروی
بایستی پدیدار شود . MyODBC کلیك نمایید . پنجره محاوره راه انداز
ایجاد یك منبع داده جدید
در این بخش شما بایستی یك منبع داده جدید ایجاد نمایید . یك منبع داده ، مکانی است که”داده“ از
همان نام پایگاه داده است . هنگامی (DSN) منتقل می گردد . نام منبع داده ، ODBC طریق اتصال
که شما یك منبع پایگاه داده ایجاد می کنید ، هرنامی که دوست دارید می توانید به آن بدهید .
استفاده از ویزارد برای ایجاد یك منبع داده جدید
اولین مرحله ، ایجاد یك منبع داده جدید ویندوز است . این مرحله به برنامه های کاربردی ویندوز اجازه
New را انتخاب نموده و بر User Data Source . شما مرتبط شوند ODBC می دهد تا به پایگاه داده
موجود را نشان می دهد که شما می ODBC کلیك نمایید . پنجره بعدی ، فهرستی از راه انداز های
توانید با آنها یك منبع داده ایجاد نمایید. ( می توانید به هر میزان که نیاز داشته باشید منبع داده با هریك
از راه انداز های موجود
را انتخاب کنید . MySQL ایجاد نمایید .) راه انداز
ODBC صفحه اطلاعات پالایش شده ای نمایش داده می شود که شامل نوع منبع داده و راه انداز
انتخابی است . بر این اساس ، مرحله بعد به صورت اختیاری است و پیکربندی تنظیمات اختصاصی راه
پدیدار می شود . این MyODBC کلیك نمایید. پانل تنظیم راه انداز Next انداز می باشد بر روی
تنظیمات کارگزار راه دور و سایر تنظیمات سازگار را مشخص ، DSN صفحه به شما اجازه می دهد تا نام
شما یکتا باشد را می توانید برای این منبع داده windows DSN نمایید .شما هرنامی که در فهرست
انتخاب کنید .
و فیلد پورت Password، User ، Server پورت پیش فرض برای اکثر مواقع درست است . مقدار
نباید در صفحه نصب مشخص شده باشند . اگر آنها را در این بخش ، مشخص کرده اید ؛ به عنوان مقادیر
پیش فرض در ارتباط های بعدی استفاده خواهند شد . مقادیر ، می توانند در زمان استفاده و در صورت
نیاز تغییر کنند.
مرجع سریع تنظیمات
استفاده خواهد شد. ( این نام می تواند هرجه شما می خواهید windows نام پایگاه داده شما که توسط
باشد ، هرجه به شما کمك کند تا پایگاه داده را به خاطر آورید و یا تشخیص دهید ، بهتر است.)
Windows DSN
میزبان کارگزار پایگاه داده ( می توانید از فراهم کننده خدمات میزبانی وب خود D omain و یا I P آدرس
آنرا دریافت نمایید .)
MySQL Host
نام پایگاه داده راه دور است .( توسط فراهم کننده خدمات میزبانی وب و یا شما هنگامی که پایگاه داده را
ایجاد کرده اید ، بدست می آید . )
MySQL
Database Name
نام کاربری است که می تواند به پایگاه داده راه دور متصل شود . ( از فراهم کننده خدمات میزبانی وب
دریافت نمایید . )
User
رمز عبوری است که برای دسترسی به پایگاه داده راه دور نیاز است . ( از میزبان وب خود بخواهید .)
شما بایستی سطوح دسترسی درستی برای انجام برخی اعمال خاص مانند ایجاد و یا از بین بردن جداول
می دهند . یکی برای فقط خواندن Password و User ID اتخاذ نمایید . برخی مدیران به شما سه جفت
(SELECT , INSERT , UPDATE) یکی برای دسترسی در حد خواندن و نوشتن ، (SELECT) ،
(CREATE TABLE , DROP TABLE , ALTER TABLE ) و دیگری برای کنترل در سطح مدیر
SQL به اضافه تمام عبارات و دستورات دیگر
Password
بتواند Access را برای مثال انتخاب کرده است . به خاطر آنکه MS ACCESS نکته : این آموختار
کار کند ، شما بایستی مراحل زیر را دنبال نمایید : M yODBC بهتر با
- شما بایستی یك کلید اصلی در جدول داشته باشید .
گاه فهرست ) در تمام جداولی که می خواهید ، قادر به بروز رسانی آنها ) timestamp - بایستی یك
شوید ، داشته باشید .
را مقایسه می single float هنگامی که Access . استفاده نمایید double float - فقط از فیلدهای
کند، دچار مشکل می شود .
ارتباط برقرار می کنید ، انتخاب MySQL را هنگامی که با “ return matching rows “ - گزینه
نمایید.
گزارش می دهد . اگر OLE OBJECTS را به عنوان BLOB ستونهای ، NT بر روی Access -
بوسیله دستور TEXT داشته باشید ، بایستی ستون را به Memo شما می خواهید ستونهای
تغییر دهید . ، ALTER TABLE
را به خوبی استفاده کند . اگر شما با این مساله مشکلی DATE همیشه نمی تواند ستونهای Access -
تغییر دهید. DATE TIME پیدا کردید ، این ستونها را به
از MySQL نادرستی ایجاد کند که SQL پرس وجوهای Access - در برخی حالات ، ممکن است
“Query | SQL Specific | Pass-Through درك آن ناتوان باشد ، شما می توانید این مشکل را با انتخاب
حل نمایید . Access “ از منوی
بر می Select Data Source ایجاد شد ، به پنجره محاوره (data source) اولین باری که منبع داده
کلیك نمایید . بایستی یك OK گردید . منبع داده ای را که ایجاد کرده اید از لیست انتخاب نمایید . بر
نسخه از جدول در پایگاه داده راه دور با تمام داده های شما ایجاد شده باشد . هیچ چیزی مبنی بر تایید
نمایید . (link) ارسال داده، نخواهید دید . شما نیاز داری تا جدول را به پایگاه داده راه دور متصل
دریافت وارسال جداول . IV
دریافت یك جدول از یك پایگاه داده راه دور
را انتخاب نمایید . به (Tables) را باز نمایید . در پنجره پایگاه داده ، قطعه جداول Access پایگاه داده
را انتخاب نمایید . “Import” ، Get External Data بروید و سپس از File منوی
را انتخاب نموده ، پنجره محاوره ”To an External File or Database“ در محاوره ، گزینه
را ODBC Database گزینه ، Save As Type نمایش داده می شود . در بخش “Save As”
انتخاب نمایید .
پدیدار می شود . اگر جدولی که می خواستید “Import Object” کلیك نمایید .پنجره Import بر
کلیك کنید . Ok دریافت نمایید در لیست باشد ، آنرا انتخاب کرده و بر
دریافت می کند . ODBC جدول را بوسیله پرس و جو با پایگاه داده راه دور از طریق اتصال Access
Access این اتصال برای یك جدول بزرگ می تواند کند باشد . بنابراین یك فنجان قهوه صرف نمایید تا
کار خود را انجام دهد !
ارسال یك جدول به پایگاه داده راه دور
بخش جداول را انتخاب کنید . جدولی را برای Database را باز کنید . در پنجره Access پایگاه داده
مشاهده Export بروید ، پنجره Get External Data ارسال انتخاب کرده به منوی فایل و سپس به
کلیك نمایید . پنجره انتخاب منبع داده Ok می شود . اگر نام جدول همانی است که شما می خواهید ، بر
را انتخاب نمایید .ما یك منبع داده جدید Machine Data Source ، (tab) پدیدار می شود . بخش
New صرفا برای این پایگاه داده ایجاد می کنیم . این امر تماس مجدد با پایگاه داده را آسان می کند . بر
را انتخاب User Data Source . باز می شود Create New Data Source کلیك نمایید . پنجره
کلیك کنید . پانل ، Next را از لیست برگزینید . بر MySQL کلیك کرده و راه انداز Next نمایید. بر
کلیك نمایید . Finish اطلاعات راه انداز شما را نشان می دهد . بر روی
بر می گردید . منبع داده ای Select Data source پس از آنکه منبع داده ایجاد شد . شما به محاوره
کلیك کنید . این امر بایستی یك نسخه مشابه از Ok را که ایجاد کرده اید از لیست انتخاب نمایید . و بر
جدول بر روی پایگاه داده راه دور با تمام داده های شما ایجاد کند .شما بایستی جدول را به پایگاه داده
راه دور منتقل نمایید. برای اتصال جدول ، از بخش جداول ، جدول مورد نظر را انتخاب کرده به
ODBC Database فایلهایی از نوع ، link در پنجره ، File|Get External Data | link Tables
Machine Data ظاهر می شود . از بخش ، Data Source () ، را انتخاب نمایید . پنجره محاوره
نام منبع داده پایگاه داده خود را مجددا انتخاب نمایید . چندین پنجره خواهند آمد اولی شاید ، Source
از شما بپرسد کدام جدول را می خواهید پیوند دهید ؟ جدول مورد نظر را انتخاب کنید . دیگر ی ممکن
است از شما بپرسد کدام ستون بایستی دارای مقادیر یکتا باشد .( کلید اصلی ).اکنون جدول دوم با همان
نام ظاهر می شود . اما یك آیکن ” کره “ نشان می دهد که این جدول راه دور است . شما می توانید با
این جدول مانند دیگر جداول کار کنید . ایجاد یك گزارش بر پایه آن یا ایجاد یك فرم که شما می توانید
برای بروز رسانی جدول راه دور استفاده کنید .
اخطار : ممکن است تغییر نام برخی ستونها در جدولی که می خواهید ارسال کنید ضروری باشد .
رزرو شده اند . به ، SQL برخی کلمات را برای خود ذخیره
sunyboy
01-17-2009, 02:11 AM
PHP اجرای ایمن اسکریپت های
استفاده از مخفی کننده اسکریپت
برای اتصال به یك پایگاه داده نیاز است که رمز های عبور آن در برخی قسمتهای اسکریپت وجود داشته
باشد . اسکریپت های دیگر شما ممکن است اطلاعات حساس خود را داشته باشند . این اطلاعات اگر شما
خود را پنهان نکنید ، ممکن است افشا شوند . حفاظت کردن اسکریپتهایتان از PHP اسکریپت های
گفته می شود . هنگامی که شما یك اسکریپت را می پوشانید توسط “wrapping” چشمهای کنجکاو
اسکریپت دیگری که برنامه اصلی شما را پنهان کرده و آزمایشهای ایمنی را برای حصول اطمینان از
دستیابی مجاز انجام می دهد ، فراخوانی می گردد .
دیگر کاربران رمز عبورها را چگونه می بینند ؟
دو راه وجود دارد :
۱ )اگر شما به اندازه کافی دقت به خرج ندهید و رمز عبورهای خود را در ریشه اصلی وب تان و در درون
تجزیه و تحلیل نمی شود، قرار دهید (مانند PHP فایلی که توسط مفسر
هر کسی می تواند آنرا دریافت کند و محتویاتش را بدست آورد . ( http://www.mysite.com/pass.txt
این امر به شدت نادرست است .
۲ ) اگر شما رمز عبورهای خود را در فایلی قرار دهید که می تواند توسط وب سرور به طور مستقیم یا
بوسیله دیگر کاربرانی که در گروه شما و در همان سرور هستند ، خوانده شود .بکار گیری این روش بجز
توسط افرادی که می توانند یك وب سرور اختصاصی داشته باشند توصیه نمی شود .
اگر شما رمز عبور ها را در یك فایل که توسط دیگر کاربران قابل خواندن است ، قرار دهید آنها می توانند
به شاخه شما رفته و فایلها را مسقیما بخوانند . برخی میزبانهای وب از این Telnet ویا FTP بوسیله
را هنگامی که شما وارد “usr/home/username”). جلوگیری می کنند “chrooting” رفتار توسط
برای تغییر ریشه است .) اما بسیاری از میزبانها U NIX دستور Chroot . می شوید برابر با ”/“ می کند
در مورد فایلهایی که صرفا اجازه خواندن آن به وب سرور داده شده است ، اجازه دسترسی را به دیگر
کاربران نمی دهند. در این حالت نیز دیگران می توانند اسکریپتی بنویسند که با مشخه کاربری
کار کند . و این اسکریپت می تواند به تمام فایلهایی که در سرور وجود دارد و صرفا توسط “nobody”
آن خوانده می شود ، دسترسی پیدا کند.
چگونه از این امر جلوگیری می کند ؟ Wrapping
نام کاربری کسی که به فایل می تواند دسترسی داشته باشد را برابر نام کاربری شما قرار Wrapping
می دهد . یك مخفی کننده ایمن ، چندین بررسی و آزمون امنیتی بر روی درخواستها ، قیل از اجرای آنها
انجام می دهد .
چیست ؟ Php-cgiwrap
یك اسکریپت مخفی کننده برای برنامه های cgiwrap . است PHP یك اسکریپت مخفی کننده برای
تهیه شده و P airNetworks آنست که توسط PHP نسخه مربوط به php-cgiwrap است و Perl
صرفا بر روی سرورهای آنان کار می کند . اگر از میزبان دیگری استفاده می کنید روشهای دیگری برای
مخفی کردن وجود دارد که می توانید از آنها استفاده کنید .
پوشش شفاف
مربوط به پوشش شفاف برای ایمنی صفحات است . برخی میزبانان وب PHP آخرین بحث ما درباره
استفاده نمایند و .php ارایه کرده اند . اگر صفحات از پسوند 3 PHP پوشش شفاف لاینفکی برای صفحات
در این صورت شما اصلا متوجه نخواهید شد که صفحات شما از پوشش استفاده می کنند اما نکته مهم
آنست که از فراهم کننده خدمات میزبانی وب خود در این باره پرسش نمایید .
استفاده کنید تا به طور mod-rewrite راههای مختلفی برای اجرای این کار وجود دارد . شما می توانید از
از طریق اسکریپت مخفی کننده ارسال شود . یا از خدمات سرور PHP خودکار تمام درخواستهای
استفاده نمایید . برای اطلاعات بیشتر از نشانی Apache suExec
استفاده کنید . http://www.apache.org/docs/suexec.htm
اخطار : اگر میزبان وب شما راهی برای اجرای ایمن اسکریپت هایتان پیش بینی نکرده ، و راهی برای
مخفی کردن رمز عبور ها از دید کاربران کنجکاو ندارید. بایستی به میزبانی مراجعه کنید که بیشتر نسبت
به امنیت کاربران اهمیت قایل است
منبع: ایران جاوا
yashar
10-05-2009, 07:42 PM
خیلی ممنون. میشه بگین از بین PHP , ASP , Javascript کدومشون بهتره؟
Powered by vBulletin™ Version 4.2.2 Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.