تعريف از پي.اچ.پي:

Download Report

Transcript تعريف از پي.اچ.پي:

‫‪PDFgozar.com‬‬
‫باسمه تعالی‬
‫آموزش ‪PHP‬‬
‫عیسی زاده‬
‫پائیز ‪86‬‬
‫‪PDFgozar.com‬‬
‫تعریف از پي‪.‬اچ‪.‬پي‪:‬‬
‫در یك كالم‪ PHP « :‬یك زبان برنامه نویسي‬
‫اسكریپتي ( ‪ ) script language‬مثل ‪،perl‬‬
‫قابل جاسازي یا تلفیق ( ‪ ) embedding‬در‬
‫كدهاي ‪( HTML‬مثل جاوا اسكریپت) ‪ ،‬قابل اجرا بر‬
‫روي سیستمهاي مختلف مثل لینوكس و ویندوز‪ ،‬با‬
‫كابردهاي وسیع براي برنامه نویسي پیشرفته در‬
‫وب است‪».‬‬
‫‪PDFgozar.com‬‬
‫تعریف از پي‪.‬اچ‪.‬پي‪:‬‬
‫درضمن ‪ Server-side‬هم هست یعني مثل‬
‫‪ ASP‬روي سرور اجرا و خروجیش بصورت‬
‫یك فایل ‪ HTML‬تحویل شما مي شود بر‬
‫خالف ‪ JavaScript‬كه ‪Client-Side‬‬
‫است‪ .‬پس الزم نیست مرورگر شما خاصیت‬
‫اضافه اي داشته باشد‪.‬‬
‫‪PDFgozar.com‬‬
‫ادامه‪...‬‬
‫اگر چه پي‪.‬اچ‪.‬پي ‪ syntax‬خودش رو از ‪ C‬قرض! گرفته‪ ،‬اما‬
‫‪ ++C‬و ‪ Perl‬و ‪ Java‬هم از عنایت ایشون بي نصیب نمونده‬
‫اند‪.‬‬
‫‪ PHP‬آسان تر از اونیه كه فكرشو بكنین‪.‬‬
‫ساخت و پرداخت تصاویر‪ ،‬كارهاي امنیتي‪ ،‬كار با كوكي ها‪ ،‬آپ‪.‬لود‬
‫فایل‪ ،‬پردازش ‪ ,XML‬و ‪ ...‬کارهای دیگر ‪PHP‬است‪.‬‬
PDFgozar.com
:‫پي و بانك اطالعاتي‬.‫اچ‬.‫پي‬
( ‫از آنجائیكه برنامه نویسي حرفه اي بدون بانك اطالعاتي‬
‫پي هم با خیلي از بانك هاي‬.‫اچ‬.‫ پي‬،‫ ) نمیشه‬database
،‫ مثال‬.‫اطالعاتي رابطه دارد‬
Adabas D, Ingres, Oracle (OCI7 and OCI8),
dBase,
InterBase,
Ovrimos
Empress
FrontBase, PostgreSQL , FilePro (read-only),
mSQL, Solid, Hyperwave, Direct MS-SQL,
Sybase, IBM DB2, MySQL, Velocis, Informix,
ODBC, Unix dbm
!‫ كار مي كنه والغیر‬MySql ‫اما بهتر از همه با‬
‫‪PDFgozar.com‬‬
‫چند تا نكته‪:‬‬
‫اول‪ :‬پي‪.‬اچ‪.‬پي‪ case-sensitive ،‬است‪ .‬يعني حساس به حروف‪.‬‬
‫پس ‪ $a‬و ‪ $A‬با هم فرق دارند‪.‬‬
‫دوم‪ :‬تمام دستورات در پي‪.‬اچ‪.‬پي به " ; " ختم مي شوند‪ .‬اين را‬
‫هيچ وقت فراموش نكنيد‪.‬‬
‫سوم‪ :‬اگر بخواهيد توضيحات ( ‪ ) comments‬يك خطي داشته‬
‫باشيد‪ ،‬بايد از دو عالمت "‪ "//‬استفاده كنيد‪ .‬و اگر توضيحاتتان در‬
‫چند خط باشند از "‪ "*/‬در ابتدا و "*‪ "/‬در انتهاي توضيح‪.‬‬
‫چهارم‪ :‬بين عالمت كوتيشن (") و گيومه (') يك فرق كوچك هست‪.‬‬
‫پي‪.‬اچ‪.‬پي محتواي بين كوتيشن را تحليل و ترجمه ميكنه‪ ،‬همين!‬
PDFgozar.com
:) type ( ‫انواع‬
:‫ ) دارد‬type ( ‫ تا نوع‬8 ،‫پي‬.‫اچ‬.‫پي‬
‫ و‬object ‫ و‬array ‫ و‬string ‫ و‬float ‫ و‬integer ‫ و‬boolean
.‫ كه پنج تاي اولي پركاربردتر هستند‬NULL ‫ و‬resource
‫‪PDFgozar.com‬‬
‫متغیرها‪:‬‬
‫يك متغير با گذاشتن عالمت ‪ $‬به اول يك اسم ساخته ميشود! دامنه‬
‫تعريف متغيرها‪ ،‬در ناحيه اي است كه تعريف مي شوند‪.‬‬
‫بعدا كه تعريف تابع را ياد گرفتيد‪ ،‬مي بينيد كه از يك متغير‬
‫سراسري همين جوري! نمي شود در بدنه يك تابع استفاده كرد‪.‬‬
‫‪PDFgozar.com‬‬
‫در ضمن پي‪.‬اچ‪.‬پي يك سری متغير "از پيش تعريف شده" ( ‪) predefined‬‬
‫دارد كه خيلي عاليند‪ .‬براي اينكه اونها رو بينيد كافيه كد زير رو بنويسيد و اجرا‬
‫كنيد‪:‬‬
‫(); ?> ‪echo phpinfo‬‬
‫مثال ‪ ]'$_SERVER['PHP_SELF‬كه اسم فايل برنامه رو برمي گردونه‪.‬‬
‫از اين براي مستقل كردن كدهاي برنامه از اسم فايل خيلي استفاده مي شه‪.‬‬
‫يا ‪ ]'$_SERVER['HTTP_USER_AGENT‬كه نوع مرورگرتان را‬
‫برمي گرداند‪.‬‬
‫يا ‪ $HTTP_POST_VARS‬و ‪ $HTTP_GET_VARS‬كه براي‬
‫ارتباط با فرم ها بايد! استفاده بشوند‪( .‬البته مي تونيد از ‪ $_POST‬يا‬
‫‪ $_GET‬هم استفاده كنيد‪ ،‬به شرطي كه نسخه پي‪.‬اچ‪.‬پي باالتر از ‪ 4.2‬باشه)‬
‫‪PDFgozar.com‬‬
‫موارد الزم براي ‪: php‬‬
‫یك ویرایشگر مثل ‪ DreamWeaver‬البته با نوت پد هم مي شه‬
‫و لي با این راحت ترید ‪...‬‬
‫یك محیط كه برنامه هاي ‪ php‬بتونن اونجا اجرا شوند مثل یك‬
‫سرور كه ‪ php‬رو هم ساپورت مي كنه ‪ ...‬البته برنامه هایي هم‬
‫وجود دارند كه اون سرور رو روي كامپیوتر ما شبیه سازي مي‬
‫كنند‪...‬مثل ‪ Easy PHP‬و ‪...‬‬
‫‪PDFgozar.com‬‬
‫دستورات ‪ php‬را بايد در دوتا تگ كه‬
‫مخصوص اون هست بنويسيم‪.‬‬
‫?>‬
‫‪--‬‬‫‪--‬‬‫‪--‬‬‫<?‬
‫‪PDFgozar.com‬‬
‫خوب ساده ترين دستور ‪ php‬رو باهم مي نويسيم‬
‫و تست ميكنيم‪.‬‬
‫‪>? php‬‬
‫;”(‪print)"SALAM‬‬
‫>?‬
‫همین طور كه قبال گفتم این كد را در یك فایل با پسوند ‪ php‬ذخیره‬
‫مي كنیم و آن را در پوشه ‪ www‬قرار مي دهیم حاال براي اجراي‬
‫رویم‪.‬‬
‫مي‬
‫آدرس‬
‫این‬
‫به‬
‫اون‬
‫(به فرض این كه نام این فایل ‪ test.php‬باشد ) ‪.‬‬
‫‪http://127.0.0.1/test.php‬‬
‫خوب باید كلمه ‪ SALAM‬چاپ شود‬
‫‪PDFgozar.com‬‬
‫توضيح برنامه‬
‫دستور ‪ print‬براي ارسال یه چیزي به مرورگر به كار مي رود‪.‬‬
‫در این دستور میتوانید به جاي "" از '' هم استفاده كنید حتي میتوانید پرنتز‬
‫ها رو هم نگذارید ‪...‬‬
‫در این دستور سیمیكلن " ; " آخر الزامي است‪.‬‬
‫در دستور میتوانید كد هاي ‪ html‬رو هم قرار بدین مثال ‪:‬‬
‫‪>? php‬‬
‫; ”<“\‪print ">img src=“\http://MyImageUrl/test.jpg‬‬
‫>?‬
‫خوب این كد باید یه تصویر كه آدرسش را نشان بدهد ‪:‬‬
‫‪http://MyImageUrl/test.jpg‬‬
‫‪PDFgozar.com‬‬
‫توضيح‬
‫اگه دقت کرده باشید داخل تگ ‪ img‬كه یك تگ ‪ html‬هست خود‬
‫اون "" داشت البته مي تونیم اینو نگذاریم (توي ‪ ) html‬ولي در‬
‫كل بهتره بدونید كه چون ما در دستور ‪ print‬از "" استفاده كرده‬
‫ایم پس هرجا كه به " برخورد كند فكر میكند كه دستور به پایان‬
‫رسیده به عبارت دیگر این كاراكتر " براي این دستور معني‬
‫خاصي دارد پس ما براي این كه اون رو توي خروجي عینا چاپ‬
‫كنه یك بك اسلش \ قبل از اون مي گذاریم‪.‬‬
‫‪PDFgozar.com‬‬
‫يه مثال ديگر ‪:‬‬
‫‪>?php‬‬
‫; (”‪print("SALAM<br>Khubi‬‬
‫<?‬
‫در این دستور هم از یه تگ ‪ html‬استفاده كردیم (<‪ )>br‬این تك‬
‫باعث میشود كه به خط بعد برویم یعني كلمه ‪ SALAM‬نمایش‬
‫داده مي شود و كلمه ‪ Khubi‬در خط بعد نمایش داده مي شود‪.‬‬
‫‪PDFgozar.com‬‬
‫متغير چيه ؟‬
‫فرض کنید شما میخواهید یک مقدار عددی یا یک رشته مثال اسم‬
‫یک نفر رو نگه دارید و بعد از یک سری کار ها دوباره ازش‬
‫استفاده کنید ‪ .‬برای این کار از چیزی به نام متغیر استفاده می کنیم‬
‫‪.‬در واقع وقتی یک متغر را تعریف می کنیم یک قسمت از حافظه‬
‫‪ Ram‬سیستم را رزرو می کنیم و هر چه را که می خواهیم آنجا‬
‫می نویسیم ‪ .‬در برنامه های دیگر مثل ‪ …,C,Pascal‬ما هنگام‬
‫تعریف متغیر بایستی نوع آن را هم تعریف کنیم ‪(...‬نوع چیه ؟) اما‬
‫توی ‪ php‬نیازی به تعریف نوع نمی باشد خود ‪ php‬نوع آن را‬
‫تشخیص می دهد‪ .‬یه مثال ساده ‪:‬‬
‫;‪$a = 25‬‬
‫‪PDFgozar.com‬‬
‫توضيح‬
‫دقت کنید که در این مثال ‪ a‬نا متغیر است و عدد ‪ 25‬مقداری است‬
‫که ما در آن متغیر قرار داده ایم‪ .‬همان طور که قبال گفته شد بعد از‬
‫هر دستور باید سیمیکلن ; قرار می دهیم ‪ .‬عالمت ‪ $‬چیه ؟ توی‬
‫‪ php‬قبل از نام هر متغیر بایستی حتما این عالمت رو قرار دهیم ‪.‬‬
‫نامگذاری متغیر ها یک سری قوانین داره که مثال اولین کاراکتر‬
‫اون نمیتونه _ باشه یا با عدد شروع بشه و همچنین بایستی از‬
‫حروف الفبا استفاده کنی‬
‫‪PDFgozar.com‬‬
‫مثال همه نمونه های زیر نادرستند‪:‬‬
‫;‪_$salam = 12‬‬
‫;‪65$a= 10‬‬
‫حال که با نام گذاری آشنا شدیم ببینیم چه مقادیری توی متغیر ها‬
‫می توانیم قرار دهیم یا بهتر بگم چه نوع هایی داریم‪:‬‬
‫;‪$a = 12‬‬
‫این نوع یک عدد صحیح است ‪.‬‬
‫;‪$a = 12.5‬‬
‫این نوع یک عدد ممیز شناور (اعشاری) است‪.‬‬
‫‪PDFgozar.com‬‬
‫;" ‪$a = "Ali‬‬
‫این یک رشته است دقت کنید که برای وارد کردن رشته بایستی از‬
‫دو عالمت " " یا ' ' استفاده کنیم یعنی‬
‫;‪$a = 123‬‬
‫با ‪:‬‬
‫;'‪$a = '123‬‬
‫خیلی فرق داره اولی عدد ‪ 123‬است و دومی کاراکتر ‪ 1‬و ‪ 2‬و ‪3‬‬
‫است که به دنبال هم یک رشته رو تشکیل می دهند‪.‬‬
‫‪PDFgozar.com‬‬
‫مثال ديگر‪:‬‬
‫;‪$num1 = 10‬‬
‫;‪$num2 = 5‬‬
‫;‪$total = $num1 + $num2‬‬
‫;(‪print($total‬‬
‫اگر دقت کنید می بینید که در خط اول و دوم دو متغیر به نام های‬
‫‪ num1‬و ‪ num2‬رو تعریف کردیم و مقدار دادیم و در خط بعد‬
‫مجموع این دو را در متغیر ‪ total‬قرار دادیم و درخط بعد نتایج را‬
‫چاپ می کنیم (به مرور گر ارسال می کنیم‪.).‬‬
‫توجه ‪ :‬سعی کنید که همیشه نام های با مسما به متغیر هاتون بدین‬
‫برای این که بعد به فهم برنامه کمک می کنه و دلیل دیگر اون اینه‬
‫که اگه برنامتون طوالنی بشه دیگر گیج نمی شوید‪.‬‬
‫‪PDFgozar.com‬‬
‫شرط ها ‪.‬‬
‫فرض کنید توی برنامتون قراره که کاربر نام کاربری و کلمه عبور خود را‬
‫وارد نماید و در صورت درست بودن هر دو بتواند وارد صفحه دیگری شود‬
‫برای این کار (یعنی چک کردن ‪ username‬و ‪ ) password‬از شرط‬
‫‪.‬‬
‫کنیم‬
‫می‬
‫استفاده‬
‫مثال ‪:‬‬
‫(یه شرط) ‪if‬‬
‫}‬
‫‪---‬‬‫‪---‬‬‫‪---‬‬‫{‬
‫شکل کلی شرط به این صورته ‪ .‬داخل پرانتز یه شرط رو می نویسیم و بین {‬
‫} دستوراتی که اگر شرط داخل پرانتز برقرار بود باید اجرا شوند رو قرار‬
‫میدهیم‪.‬‬
‫‪PDFgozar.com‬‬
‫مثال ‪:‬‬
‫)"‪if($user == "ali‬‬
‫{‬
‫; (”!‪print)"Welcome Ali‬‬
‫{‬
‫در صورتی که متغیر ‪ user‬برابر با رشته ‪ ali‬بود دستور ‪print‬‬
‫داخل شرط اجرا می شه ‪.‬‬
‫(آقا این == چیه ؟)‬
‫خوب حاال بریم سراغ جواب این سوال ‪:‬‬
‫‪PDFgozar.com‬‬
‫برای بررسی دو چيز با هم از يک سری عالمت‬
‫ها استفاده می کنيم ‪:‬‬
‫== بررسی تساوی دو چیز‬
‫> کوچکتر‬
‫< بزرگتر‬
‫=> کوچکتر یا مساوی‬
‫=< بزرگتر یا مساوی‬
‫=! مخالف (نامساوی)‬
‫‪PDFgozar.com‬‬
‫حلقه ها‬
‫حلقه ها در هر زباني براي انجام كارهاي تكراري به كار مي رود مثال براي‬
‫نمایش لیستي از نتایج جستجو و یا هر چیز دیگه اي ‪ ...‬در این جا سه نوع از‬
‫حلقه هایي كه در ‪ php‬به كار مي رود را توضیح میدهیم ‪ ...‬با یک مثال‬
‫‪...‬‬
‫كنیم‬
‫مي‬
‫شروع‬
‫ساده‬
‫میخواهیم یه كلمه ‪ 10‬بار چاپ بشود ‪...‬‬
‫)‪for($i = 0 ; $i<10 ;$i++‬‬
‫{‬
‫; (“>‪print("Salam<br‬‬
‫{‬
‫اين تكه كد كلمه ‪ Salam‬رو ‪ 10‬بار زير هم توي مرورگر نمايش‬
‫ميدهد‪...‬‬
‫‪PDFgozar.com‬‬
‫حلقه ها‬
‫خوب حاال به توضيح ميپردازيم ‪:‬‬
‫اين حلقه كه به كار برديم به حلقه ‪ for‬معروف است و شكل كلي اون اين‬
‫طوري است ‪...‬‬
‫(‪for(1 ; 2 ; 3‬‬
‫}‬
‫بدنه حلقه‬
‫{‬
‫‪PDFgozar.com‬‬
‫توضيح ‪:‬‬
‫‪ -1‬در این قسمت مقدار اولیه رو مینویسم ‪ .‬یعني شمارنده حلقه (؟) از كجا‬
‫‪...‬‬
‫بشه‬
‫شروع‬
‫‪ -2‬در این قسمت یک عبارت شرطي رو مینویسیم و به محض این كه این‬
‫شرط نادرست شود یعني ‪ false‬بشه از حلقه خارج مي شویم ‪ ...‬دقت كنید‬
‫باید شرطي بنویسیم كه با الخره یه موقعي ‪ false‬بشه و از حلقه خارج بشیم‬
‫چون اگه خارج نشیم همین طور توي حلقه مي چرخیم و تا ابد بیرون نمیاییم‪.‬‬
‫‪ -3‬در این قسمت كه به گام حلقه موسوم است بایستي عبارتي رو بنویسیم كه‬
‫مثال به مقدار اولیه یه چیزي اضافه كنه یا ازش كم كنه ‪ ...‬بستگي به شرایط‬
‫داره ‪...‬‬
‫‪PDFgozar.com‬‬
‫بدنه حلقه ؟‬
‫بدنه حلقه دستوراتي است كه ما مي خواهیم آنها را تكرار كنیم ‪...‬‬
‫در مثال باال دستور ‪ print‬بود بدنه حلقه میتونه هر چند تا دستور‬
‫كه بخواهیم باشه حتي مي تونه چند تا حلقه دیگه هم توش باشه‬
‫‪...‬‬
‫‪PDFgozar.com‬‬
‫نكات مهم ‪:‬‬
‫* دقت كنید كه ما یک متغیر به عنوان مقدار اولیه در نظر گرفتیم‬
‫‪ ...‬و این مقدار مي تونه هر چیزي باشه یعني مي تونه عدد یا‬
‫كاراكتر باشه ‪...‬‬
‫* شرط حلقه مي تونه هیچ ربطي به متغیري كه ما توي مقدار‬
‫اولیه تعریف كردیم نداشته باشه ‪...‬‬
‫* گام حلقه مي تونه كم بشه یا زیاد بشه همچنین میتونه یكي یكي‬
‫كم و زیاد بشه و یا حتي هر بار ‪ 0.1‬تغییر كنه ‪...‬‬
‫‪PDFgozar.com‬‬
‫نکات مهم‬
‫* ‪ $i++‬چیه ؟‬
‫این دقیقا معادل اینه ‪; i = $i +1$ :‬‬
‫یعني یكي به متغیر ‪ i‬اضافه مي كنه یه چیز دیگه توي همین مایه‬
‫ها داریم كه به این شكل مي نویسیم ‪ $i--‬یعني یه دونه از ‪ i‬كم مي‬
‫‪...‬‬
‫نویسیه‬
‫ساده‬
‫جور‬
‫یه‬
‫‪...‬‬
‫كنه‬
‫‪PDFgozar.com‬‬
‫نکات مهم‬
‫* ما میتونیم هر یك از قسمت هاي سه گانه حلقه (یعني مقدار اولیه‬
‫و شرط و گام حلقه ) را ننویسیم البته باید ';' را بگذاریم ‪ .‬مثال ‪:‬‬
‫(;;) ‪for‬‬
‫}‬
‫چند تا دستور‬
‫{‬
‫‪PDFgozar.com‬‬
‫حلقه ‪while‬‬
‫‪ ...‬مثال باال را با همین حلقه مینویسیم‬
‫;‪$ : i = 0‬‬
‫) ‪while($i < 10‬‬
‫{‬
‫;)">‪print("Salam<br‬‬
‫‪$i ;++‬‬
‫{‬
‫ساختار كلي این حلقه به این شكل است ‪:‬‬
‫(شرط)‪while‬‬
‫{‬
‫بدنه حلقه‬
‫}‬
‫این شرط به محض این كه نقض (‪ )false‬شود از حلقه خارج مي شویم ‪...‬‬
‫‪PDFgozar.com‬‬
‫حلقه ‪: do while‬‬
‫;‪$i = 0‬‬
‫‪do‬‬
‫{‬
‫;‪$i++‬‬
‫;)">‪print("Salam<br‬‬
‫;)‪}while($i<10‬‬
‫این حلقه دقیقا مثل ‪ while‬است با این تفاوت كه شرط حلقه در‬
‫پایان حلقه بررسي میشه این حلقه در هر صورت حداقل یك بار‬
‫اجرا مي شود و لي حلقه هایي مثل ‪ while , for‬در صورتي كه‬
‫قبل از حلقه شرط برقرار نباشد اصال وارد حلقه نمیشود اما این‬
‫نوع حلقه حتما یك بار وارد مي شود ‪...‬‬
PDFgozar.com
‫براي ارسال ايميل يه فرم ساده رو در نظر مي گيريم‬
<form method="POST" action="mail.php">
<p>Your Email :<input type="text"
name="mail_from" size="20"></p>
<p>Your Mail Subject : <input type="text"
name="mail_subject" size="20"></p>
<p>Your Message : <textarea rows="2"
name="mail_body" cols="20"></textarea></p>
<p><input type="submit" value="Send"
name="submit"></p>
</form>
‫‪PDFgozar.com‬‬
‫فرمها‬
‫چون برنامه هایي كه ما مي نویسیم روي سرور هستند و به‬
‫درخواست كاربر اجرا مي شوند در این قسمت به فرم ها (كه یك‬
‫نوع در خواست هستند) مي پردازیم ‪.‬‬
‫فرم چیست؟ یک صفحه كه یك یا چند تا دكمه و یا جایي براي ورود‬
‫اطالعات داره مثل جایي كه نام كاربري و كلمه عبور رو وارد مي‬
‫كنیم و یا مثل صفحه اول گوگل كه یه دكمه و یه محل ورود داره‪..‬‬
‫‪PDFgozar.com‬‬
‫فرمها‬
‫با فرم ها به دو صورت اطالعات رو به سمت سرور مي فرستیم (یا‬
‫اصطالحا در خواست میدهیم)‬
‫‪1- Get‬‬
‫‪2- Post‬‬
PDFgozar.com
: ‫ساخت فرم‬
‫ استفاده كنیم ربطي به‬Html ‫براي ساختن فرم بایستي از كد‬
‫نداره‬php
: ‫یك مثال از یك فرم‬
<form method="POST" action="Page.php" name="MyForm" target="_self">
<input type="text" name="T1" size="20">
<input type="submit" value="Submit" name="B1">
<input type="reset" value="Reset" name="B2">
</form>
‫‪PDFgozar.com‬‬
‫بررسی تگ ها(‪)Tags‬‬
‫بررسي تگ ‪<form> :‬‬
‫این تگ هم مثل بقیه تگ هاي ‪ html‬یك سري خاصیت داره و از یه جا شروع مي شه و به‬
‫یه جا ختم مي شه ‪.‬‬
‫‪ :method‬نوع درخواست را مشخص مي كند كه مي تواند ‪ POST‬و یا ‪ GET‬باشد در‬
‫صورتي كه اصال این را ننویسیم به صورت پیشفرض ‪ Get‬در نظر گرفته مي شود ‪.‬‬
‫‪ :action‬صفحه مقصد را مشخص مي كند یعني این كه پس از پر كردن فرم براي ارسال‬
‫اون به سمت سرور به كدوم صفحه ارسال بشه ‪ ...‬در ادامه مي بینیم كه كد هاي مربوط به‬
‫فرم رو باید توي صفحه مقصد بنویسیم‪ .‬در صورتي كه این را ننویسیم صفحه جاري صفحه‬
‫مقصد در نظر گرفته مي شود‪.‬‬
‫‪ :name‬نام فرم است كه براي‪ php‬نیازي به اون نداریم‬
‫‪ : target‬نوع باز شدن صفحه مقصد كه شامل صفحه جاري ‪ ،‬صفحه جدید ‪ ،‬صفحه پدر ‪،‬‬
‫یك فریم خاص و ‪ ...‬است ‪ .‬ممكنه تا به حال به صفحاتي بر خورده باشید كه پس از فشردن‬
‫دكمه مربوط به ارسال فرم نتیجه رو توي یه صفحه جدید مشاهده كردید ‪.‬‬
PDFgozar.com
:‫مثال‬
‫فرض كنیم مي خواهیم برنامه اي بنویسیم كه یك رشته را دریافت‬
‫ بار چاپ كنه؟‬5 ‫كرده و اونو‬
: ‫ هست‬Html ‫اول فرم مي سازیم كه‬
<form method="POST" action="print.php">
<p><input type="text" name="T1" size="20"></p>
<p><input type="submit" value="Submit" name="B1"></p>
</form>
‫‪PDFgozar.com‬‬
‫ادامه مثال ‪-‬اجرای برنامه‪:‬‬
‫اين فرم يه فرم خيلي ساده است كه صفحه‬
‫مقصد اون ‪ print.php‬هست و چون‬
‫آدرسي داده نشده پس صفحه اي كه فرم‬
‫توي اونه و صفحه اي كه كد هاي‬
‫‪php‬توي اون نوشته شده‬
‫)‪(print.php‬بايستي توي يه فولدر‬
‫باشند ‪.‬‬
‫اين فرم يه فيلد (جايي كه اطالعات رو‬
‫توي اون مي نويسيم) و يه دكمه داره ‪.‬‬
PDFgozar.com
)print.php ‫ (صفحه‬php‫خوب حاال كد‬
<?
$my_str = $_POST['T1'];
for($i = 0 ; $i < 5 ; $i++)
{
print($my_str);
}
?>
‫‪PDFgozar.com‬‬
‫توضيح کد ‪PHP‬‬
‫در خط اول به یه متغیر به نام ‪ my_str‬مقدار‬
‫كد]'‪: $_POST['T1‬رو انتصاب دادیم ‪ .‬این مقدار براي‬
‫دسترسي به اشیاي فرم هست‬
‫‪ T1‬نام آن فیلد ما است كه محتواي آن را توي یه متغیر ریختیم و‬
‫توي حلقه اون رو ‪ 5‬بار چاپ كردیم‪.‬‬
‫توجه‪ :‬براي دسترسي به اشیاي فرم در صورتي كه با ‪ Get‬ارسال‬
‫شده باشند از ‪:‬‬
‫]'‪$_GET['FieldName‬‬
‫استفاده می نماییم‪.‬‬
‫‪PDFgozar.com‬‬
‫استفاده از چند عملگر در یک دستور‬
‫دستورات ‪ PHP‬همانند عملیات ریاضی برای کار کردن با اعداد از‬
‫شرط تقدم استفاده می کند‪.‬‬
‫‪PDFgozar.com‬‬
‫استفاده از توابع محاسباتی پیش ساخته‬
‫‪)(round‬‬
‫تابع‬
‫این تابع همانگونه که از نام آن پیداست‪ ،‬برای گرد کردن اعداد به‬
‫کار می رود‪ ،‬به این صورت که اعداد با قسمت اعشاری ‪ .5‬و یا‬
‫بیشتر‪ ،‬به عدد صحیح باالتر و اعداد با قسمت اعشاری کمتر از ‪.5‬‬
‫به عدد صحیح پایین تر‪ ،‬گرد می شوند‪.‬‬
‫‪PDFgozar.com‬‬
‫توابع‪ )(rand‬و ‪)(srand‬‬
‫این دو تابع در حقیقت در یک تابع شکل کاربردی‬
‫پیدا می کنند‪ .‬تابع ‪ )(rand‬یک عدد تصادفی ایجاد‬
‫می کند و تابع ‪ )(srand‬که قبل از تابع ‪)(rand‬‬
‫به کار می رود‪ ،‬برای تنظیم عملکرد این تابع به کار‬
‫می رود‪.‬‬
‫‪PDFgozar.com‬‬
‫شما می توانید برای محدود کردن اعداد تصادفی ایجاد شده در یک‬
‫بازه ی خاص‪ ،‬حداقل و حداکثر بازه را به عنوان پارامتر به تابع‬
‫‪ )(rand‬ارسال کنید‪.‬‬
‫‪PDFgozar.com‬‬
‫تابع )(‪abs‬‬
‫این تابع که کاربرد زیادی در اسکریپت ها می تواند داشته باشد‬
‫یک عدد از ما گرفته و قدر مطلق آن را برای ما محاسبه می کند‪.‬‬
‫‪PDFgozar.com‬‬
‫استفاده از ساختار شرطی ‪Else‬‬
‫این ساختار شرطی در حقیقت مکمل ساختار شرطی ‪ if‬است‪.‬‬
‫کارکرد این دستور دقیقا برعکس ‪ if‬است یعنی وقتی شما یک‬
‫دستور را چک می کنید در صورت درست نبودن‪ ،‬برنامه با استفاده‬
‫از دستور‪ Else‬کار دیگری را انجام می دهد‪.‬‬
‫شکل کلی استفاده از این عبارت شرطی به صورت زیر است‪:‬‬
‫‪PDFgozar.com‬‬
‫اسکريپت ‪Email‬‬
‫یکی از پرکاربردترین و ساده ترین اسکریپت ها مربوط به ارسال‬
‫ایمیل میشه‪ ،‬همون فرم ارتباط یا ‪.Contact Form‬‬
‫ما در اینجا نحوه ی درست کردن این اسکریپت را در اختیار شما‬
‫میذاریم‬
‫‪PDFgozar.com‬‬
‫ادامه‪...‬‬
‫در اینجا ما یه صفحه ی ‪ HTML‬درست کردیم و درون اون یه‬
‫فرم قرار دادیم که اطالعات رو توسط ‪ Text Box‬ها بگیره و‬
‫واسه ی انجام دهنده ی عملیات (‪ )mail.php‬بفرسته‪.‬‬
PDFgozar.com
PHP ‫کد‬
‫‪PDFgozar.com‬‬
‫در اين مرحله چکار کرديم؟‬
‫یک صفحه ی ‪ PHP‬درست کردیم به اسم ‪mail.php‬‬
‫سپس هر کدوم از ‪ Text Box‬های صفحه ی قبل رو به عنوان‬
‫یه متغیر در نظر گرفتیم‪.‬‬
‫در پاراگراف بعدی واسه برنامه یه شرط گذاشتیم که اگه آدرس‬
‫ایمیل معتبر نبود عملیات رو متوقف کنه یا اگه جای عنوان خالی‬
‫بود هم عملیات رو متوقف کنه‪.‬‬
‫در خطوط بعدی اگر تمام شرایط آماده بود ایمیل ارسال میشه و‬
‫واسه ی کاربر یه پیام تشکر میاد ‪ ،‬اگر هم به دالیلی ایمیل ارسال‬
‫نشد پیام ارسال نشدن ایمیل رو نشون بده‪.‬‬
‫‪PDFgozar.com‬‬
‫ادامه‪...‬‬
‫شما میتونید به راحتی فیلدهای دلخواهتون رو اضافه کنید و سپس‬
‫در فایل ‪ mail.php‬به صورت متغیر تعریف کنید و در ایمیل‬
‫ارسالی اضافه کنید‪.‬‬
‫برای استفاده از این اسکریپت کافیه که آدرس ایمیلی که میخواهید‬
‫با این فرم به اون ایمیل ارسال کنید رو یه جای قسمت زرد رنگ‬
‫وارد کنید‪.‬‬
‫راستی اگه ‪ mail.php‬رو بین تگ های ‪ PHP‬میذاشتی بهتر‬
‫بود‪.‬‬