بایگانی برچسب: s

آموزش PHP – جلسه دهم: پروژه ارسال ایمیل

در این جلسه از سری آموزش‌های پی‌اچ‌پی می‌خواهیم اولین پروژه کاربردی را با این زبان برنامه‌نویسی محبوب ایجاد کنیم. پروژه ما اسکریپتی برای ارسال ایمیل است. بدین صورت شما با نحوه ارسال ایمیل و توابع مربوط به آن در PHP نیز آشنا خواهید شد. در ادامه مطلب با ما همراه باشید.

اگر آموزش‌های پی‌اچ‌پی را تا اینجا دنبال کرده‌اید پس تمامی پیش‌نیازهای لازم برای شروع کار یک پروژه کاربردی را دارید. می‌خواهیم در این جلسه یک اسکریپت کاربردی برای ارسال ایمیل ایجاد کنیم و سعی می‌کنیم علاوه بر استفاده از مباحث قبلی، موارد جدیدی را هم به شما آموزش دهیم.

خب اگر یادتان باشد در جلسات اولیه گفتم که مهم‌ترین مرحله برای ایجاد یک پروژه، الگوریتم آن است. شاید بسیاری از افراد فکر کنند که یک پروژه ساده چه نیازی به الگوریتم دارد. خب شاید تا حدی گفته این افراد درست باشد زیرا بسیاری از پروژه‌های کوچک را بدون الگوریتم‌نویسی نیز می‌توان ایجاد کرد. اما اگر بخواهیم بعدا اسکریپت خود را ارتقا دهیم و امکانات جدیدی به آن اضافه کنیم یا اشکلاتش را رفع کنیم، در صورتی که از الگوریتم استفاده کرده باشیم کار ما بسیار آسان‌تر خواهد شد.

پس اولین کاری که برای ایجاد پروژه ارسال ایمیل انجام می‌دهیم ترسیم یک الگوریتم است. پیش از این‌که بخواهید الگوریتم را ایجاد کنید باید در نظر داشته باشید که اسکریپتی که قصد ایجادش را دارید قرار است چه کاری را انجام دهد؟ خب در اینجا ما می‌خواهیم سیستم ارسال ایمیل تحت وب ایجاد کنیم پس مهم‌ترین بخش‌هایی که پروژه ما باید داشته باشد به شرح زیر است:

  • یک فیلد برای وارد کردن ایمیل مقصد (آدرسی که ایمیل به آن ارسال خواهد شد)
  • یک فیلد برای وارد کردن نام ارسال کننده
  • یک فیلد برای وارد کردن موضوع ایمیل
  • یک فیلد برای نوشتن متن ایمیل
  • یک دکمه برای ارسال ایمیل
  • یک دکمه برای ریست کردن فرم
  • یک صفحه پی‌اچ‌پی که عملیات پردازش و ارسال ایمیل را انجام دهد

خب این‌ موارد مهم‌ترین بخش‌هایی هستند که ما باید ایجاد کنیم. ما باید دو فایل ایجاد کنیم که البته می‌توان کل پروژه را در یک فایل ایجاد کرد اما بهتر است هر بخش را در یک فایل جداگانه ایجاد کنیم. الگوریتم ساده‌ای که من برای این پروژه در نظر گرفته‌ام به این صورت است:

  1. کاربر اطلاعات خواسته شده را در فرم وارد می‌کند
  2. اطلاعات به صفحه بررسی و ارسال ایمیل ارسال می شوند
  3. در صفحه بررسی و ارسال ایمیل چک می‌کنیم که آیا کاربر تمامی فیلد‌ها را پر کرده یا خیر. اگر فیلدها به درستی پر شده بود به مرحله ۴ می‌رویم و اگر پر نشده بود کاربر را به مرحله ۱ انتقال می‌دهیم
  4. حال براساس اطلاعاتی که کاربر وارد کرده ایمیل موردنظر را با کمک PHP ارسال می کنیم.
  5. بررسی می‌کنیم که آیا ایمیل با موفقیت ارسال شده یا خیر. اگر با موفقیت ارسال شده بود، باید پیامی مبنی بر ارسال موفق ایمیل به کاربر نمایش داده شود در غیر این صورت پیام خطای مناسب به کاربر نمایش داده شود

همان‌طور که می‌بینید در ۵ مرحله به ساده‌ترین حالت ممکن الگوریتم پروژه ارسال ایمیل را ایجاد کردیم. البته می‌توان از الگوریتم‌های دیگری هم استفاده کرد و شاید الگوریتم موردنظر شما بسیار بهتر از الگوریتمی باشد که در بالا نوشته‌ام. اما برای یکپارچه شدن آموزش براساس همین الگوریتم پروژه را ایجاد می‌کنیم.

ابتدا نرم‌افزار زمپ را اجرا کرده و در پوشه htdocs یک پوشه جدید به نام email می‌سازیم. سپس در این پوشه دو فایل به نام‌های index.php و send.php ایجاد می‌کنیم. فایل اول قرار است فرم ما را نشان دهد و فایل دوم پردازشگر و ارسال کننده ایمیل است.

در فایل index.php مطابق با نیاز خود که در بالا به آن اشاره کردم یک فرم با فیلد‌های موردنظر ایجاد می‌کنیم. برای زیباتر شدن نتیجه کار می‌توانید از دستورات اچ‌تی‌ام‌ال بهره ببرید ولی ما به منظور ساده‌تر بودن هر چه بیشتر کدها از حداقل کد ممکن استفاده کرده‌ایم.

<form method=”post” action=”send.php”>
email to : <input type=”text” name=”email”><br>
your name : <input type=”text” name”uname”><br=
subject : <input type=”text” name=”subject”><br>
message : <textarea name=”message” rows=”3″ cols=”4″></textarea>
<input type=”reset” value=”Reset”>
<input type=”submit” value=”Send Email”>
</form>

در فرم بالا ما به تعداد مورد نیاز فیلد ایجاد کرده‌ایم. فیلد ایمیل، نام کاربر، موضوع و متن پیام و نیز دو دکمه ریست و ثبت فرم.

حالا در فایل send.php باید کد زیر را قرا دهید:

<?php
$mailto = trim($_POST[’email’]);
$username = trim($_POST[‘uname’]);
$subject = trim($_POST[‘subject’]);
$message = trim($_POST]’message’]);

//merge name and message
$final_message = $username . ” : ” . $message;

if ($mailto != “” && $username !=”” && $subject !=”” && $message != “”)
{
//we know user filled the form
$email_send = mail ($mailto, $from_mail, $final_message);
//check for send email
if ($email_send){
echo “Your Email Has Been Send Successfully!”;
}else{
echo “sorry, there is problem in sending email, try again!”;
}
}else{
echo ‘You Must Fill All Fields! Go <a href=”index.php”>Back</a>’;
}
?>

حال می‌خواهیم کد بالا را تحلیل کنیم. در واقع تمامی نکات کد بالا را قبلا یاد گرفته‌اید اما در اینجا یک مرور کلی به کد داریم. ابتدا مقادیری که کاربر در فرم وارد کرده را درون چند متغیر قرار داده‌ایم. همچنین از تابع trim پی‌اچ‌پی استفاده کرده‌ایم تا فاصله‌های اضافه اول و آخر عبارات وارد شده در هر فیلد به صورت خودکار حذف شود. سپس با یک دستور if بررسی کرده‌ایم که در صورتی‌که تمامی فیلدها خالی نباشند و کاربر یک مقدار در آن‌ها وارد کرده باشد کد بخش صحیح بودن شرط اجرا شود و در غیر این صورت پیام خطایی به او نمایش داده می‌شود و یک لینک برای بازگشت به صفحه فرم در اختیار وی قرار می‌گیرد. اما در صورت صحیح بودن شرط با استفاده از تابع mail اقدام به ارسال ایمیل می‌کنیم و سپس مقدار بازگشتی این تابع را در متغیر email_send قرار می‌دهیم. 

در مورد مقادیر بازگشتی در جلسه آموزش تابع مفصلا توضیح دادیم. اما در اینجا بد نیست بدانید در صورتی که ارسال ایمیل موفق باشد این تابع مقدار true را برمی‌گرداند و اگر ایمیل به هر دلیلی ارسال نشود مقدار بازگشتی تابع false خواهد بود.

پس در نتیجه مقدار متغیر email_send یا true می‌شود یا false. سپس با یک دستور if مجددا بررسی کرده‌ایم که اگر ارسال ایمیل موفق بوده یعنی email_send = true بوده باشد، پیام موفق بودن ارسال ایمیل و در غیر این صورت، (یعنی email_send = false بوده) پیام خطای ارسال نشدن ایمیل به کاربر نمایش می‌یابد.

نکته: ما نام کاربر و متن پیام او را به هم ترکیب کرده‌ایم و در یک متغیر دیگر به نام final_message قرار داده‌ایم تا کسی که ایمیل را دریافت می‌کند بداند این ایمیل از طرف چه شخصی برایش ارسال شده است. 

تابع ارسال ایمیل را می‌توان با تنظیمات و سفارشی‌سازی‌های زیادی مورد استفاده قرار داد. اما برای شروع کار باید بدانید که این تابع به صورت پیش‌فرض و در ساده‌ترین حالت ممکن چند ورودی دریافت می‌کند. همان‌طور که در کد زیر می‌بینید در هنگام استفاده از این تابع باید حداقل سه ورودی داشته باشد. آرگومان اول آدرس ایمیلی است که قصد داریم به آن ایمیل ارسال کنیم. آرگومان دوم موضوع ایمیل و آرگومان سوم متن ایمیل است.

<?php
mail(’email@domain.com’, ‘subject’, ’email message’);
?>

همچنین به این نکته باید توجه کنید که برای استفاده از این تابع الزاما نیاز نیست مقدار بازگشتی آن را برابر یک متغیر قرار دهیم. در واقع در کد اسکریپت ارسال ایمیل، ما به این دلیل تابع را در برابر یک متغیر قرار دادیم تا از این طریق بتوانیم کنترل بیشتری بر روی عملیات داشته باشیم و پیام خطای مناسب را ایجاد کنیم.

اگر دقت کرده‌ باشید اسکریپت نوشته شده توسط ما دقیقا منطبق بر همان الگوریتم ساده اولیه‌ای است که نوشته بودیم. یعنی تک تک مراحل به‌خوبی در پی‌اچ‌پی پیاده‌سازی شده‌اند.

با کمی تغییرات و زیباتر کردن کد بالا می‌توانید یک اسکریپت کاربرپسند و کاربردی‌تر ایجاد کنید. به عنوان تمرین از css و html به منظور زیباتر شدن فرم ارسال ایمیل و حتی صفحه ارسال ایمیل و نمایش پیام‌ها بهره ببرید. همچنین در صورتی که هرگونه سوالی در این مورد برایتان پیش آمده آن را در بخش نظرات اعلام کنید.

همچنین می‌توانید از آنچه که در این جلسه یاد گرفتید به منظور ایجاد فرم تماس با ما برای سایت خود استفاده کنید.

در جلسات آینده و در پروژه‌های پیچیده‌تر روش ارسال ایمیل با ضمیمه و نیز ایمیل‌های HTML و UTF-8 را خواهید آموخت. فعلا سعی کنید مباحثی که تا اینجا آموزش داده شده را به صورت روان و کامل یاد بگیرید چراکه رفته رفته با بکار گرفتن پروژه‌های سنگین‌تر کار شما کمی بیشتر می‌شود. 

منبع: زومیت

آموزش PHP – جلسه نهم: متغیرهای پیش فرض و فرم ها

در این بخش از سری آموزش برنامه‌نویسی وب با PHP می‌خواهیم درباره‌ی مبحث جذاب فرم‌ها صحبت کنیم. علاوه بر این با متغیرهای کاربردی و پیش‌فرض پی‌اچ‌پی نیز آشنا خواهیم شد. در ادامه با ما همراه باشید.

متغیرهای پیش‌فرض

در جلسات قبل اعلام کردیم، در نام‌گذاری متغیرها در php نباید از نام‌های از پیش رزرو شده این زبان برنامه‌نویسی استفاده کنید. PHP شامل یکسری از متغیرهای از پیش تعریف شده است که مقادیر مشخصی را نگه‌داری می‌کنند و به برنامه‌نویس امکانات خوب و کاربردی‌ را ارائه می‌دهند. می‌توانید به‌راحتی و تنها با دانستن نام این متغیرها در هرجای کدهای پروژه خود از آن‌ها استفاده کنید.

متغیر SERVER_$

این متغیر در واقع یک آرایه از داده‌ها است که در آن اطلاعاتی از قبیل هدرها (Headers)، مسیرها (Paths) و … وجود دارد. همان‌طور که در بخش آموزش آرایه‌ها توضیح دادیم برای دسترسی به هر عضو یک آرایه باید نام آن عضو را در مقابل نام آرایه به‌کار ببرید. در مورد آرایه SERVER_$ باید از کدی شبیه به کد زیر استفاده کنید:

<?php
echo $_SERVER[‘SCRIPT_NAME’];
?>

کد بالا را در یک فایل به نام phpvars.php نوشته و در پوشه‌ای به نام new در پوشه htdocs سرور زمپ خود ذخیره کنید. بدین صورت فرضا اگر Xampp را در درایو C خود نصب کرده باشید، مسیر فایل باید به صورت زیر باشد:

C:/Xampp/htdocs/new/phpvars.php

سپس سرور را اجرا کنید. حالا باید این فایل از طریق آدرس http://127.0.0.1/new/phpvars.php در دسترس باشد. کد بالا باعث می‌شود مسیر جاری فایل در مرورگر نمایش یابد. برای ما نتیجه اجرای کد بالا به صورت زیر بود:

d34c52a0-453d-4b2f-9fb3-9290a5241836همان‌طور که می‌بینید مسیر فایل فراخوانی شده در سرور نمایش یافته است. حال بیایید ببینیم این متغیر چه اطلاعات دیگری را می‌تواند نشان دهد. به کد زیر دقت کنید:

<?php
echo $_SERVER[‘HTTP_HOST’];
?>

کد بالا هدر هاست کنونی را برمی‌گرداند. از آنجا که ما این کد را در سرور محلی اجرا کرده‌ایم نتیجه آن به صورت زیر خواهد بود:

ec1ab67a-64c8-4b4f-923e-49f64d394169شاید بپرسید این موارد به چه کار می‌آیند؟ یک مثال خوب می‌زنم. فرض کنید تصاویر زیادی روی سرور شما وجود دارند. حالا به هر دلیلی تصمیم می‌گیرید مسیر تصاویر را در سرور تغییر دهید یا به صورت کلی دامین خود را می‌خواهید تغییر دهید. در این صورت باید هرجا که از این تصاویر استفاده کرده‌اید، مسیردهی را برای تک تک فایل‌ها تغییر دهید که این عملیات طبیعتا بسیار وقت‌ گیر و کم‌بازده است. در عوض می‌توانید تنها با چند کد ساده مسیر تمامی عکس‌های سرور خود را به مسیر جدید تغییر دهید. به مثال زیر توجه کنید. برای این کار کافی است یک فایل با نام دلخواه مثلا config.php ایجاد کنید و کد زیر را در آن قرار دهید.

<?php

$host = $_SERVER[‘HTTP_HOST’];
$image_path = $host . ‘/images/’;

?>

دقت کنید که به عنوان مثال تصاویر را به پوشه‌ای به نام images منتقل کرده‌ایم. ابتدا هدر هاست را همان‌طور که در بالا اشاره کردیم در متغیر جدیدی به نام host قرار داده‌ایم. سپس مسیر جدیدی را با ترکیب متغیر host و مسیر دلخواه جدید که در اینجا پوشه images است، در متغیر دیگری به نام image_path قرار داده‌ایم. به عنوان مثال در سرور محلی آنچه در متغیر image_path ذخیره می‌شود چیزی شبیه به مسیر زیر خواهد بود:

۱۲۷٫۰٫۰٫۱/images/

نکته مهم: اگر دقت کرده باشید بین متغیر host$ و مسیر ‘/images/’ از یک نقطه استفاده کرده‌ایم. در پی‌اچ‌پی برای اتصال رشته‌های متنی به یکدیگر و نیز اتصال متغیرها به یکدیگر و همچنین اتصال متغیر‌ها به رشته‌های متنی می‌توانید از نقطه استفاده کنید.

حالا در فایل‌های پروژه خود هر کجا که از عکس‌های جدید خود بخواهیم استفاده کنیم کافی است ابتدا فایل Config.php که در بالا ایجاد کردیم را به صفحه include یا require اضافه کنیم و سپس از متغیر image_path در هرجا که خواستیم استفاده کنیم. به مثال زیر توجه کنید:

<?php

require (“config.php”);
echo ‘<img src=’ . $image_path . ‘header.jpg>’;

?>

در کد بالا در تگ img که در html به منظور نمایش تصاویر از آن استفاده می‌کنیم، به جای آدرس ثابت عکس از آدرس جدیدی که ایجاد کرده‌ایم، بهره بردیم. به نوع استفاده از کاراکتر نقطه در کد بالا نیز توجه کنید چراکه در پی‌اچ‌پی بارها و بارها شرایطی پیش خواهد آمد که نیاز به ترکیب رشته‌ها خواهید داشت. همچنین اگر فکر می‌کنید این کد کمی برایتان گیج‌کننده است پیشنهاد می‌کنیم ابتدا دستورات HTML را ب‏ه‌خوبی فرا گرفته و سپس شروع به یادگیری php کنید زیرا همان‌طور که در جلسه اول گفتیم، پیش‌نیاز این آموزش‌ها آشنایی شما با دستورات HTML و تا حدودی دستورات CSS است. در جدول زیر لیست سایر اعضای آرایه SERVER_$ که می‌توانید از آن‌ها استفاده کنید را برایتان لیست کرده‌ایم:

جدول اعضای آرایه SERVER_$ در PHP

نام فایل کنونی که در سرور اجرا شده را بر می‌گرداند $_SERVER[‘PHP_SELF’]
آدرس آی‌پی سرور کنونی را بر می‌گرداند $_SERVER[‘SERVER_ADDR’]
نام سرور کنونی را بر می‌گرداند $_SERVER[‘SERVER_NAME’]
هدر هاست کنونی را بر می‌گرداند $_SERVER[‘HTTP_HOST’]
آی‌پی سروری قبلی‌ای که کاربر از آن به سایت ما وارد شده را بر می‌گرداند $_SERVER[‘REMOTE_ADDR’]
پورت دستگاهی که کاربر از طریق آن با سرور ارتباط برقرار کرده را بر می‌گرداند $_SERVER[‘REMOTE_PORT’]
نام مسیر دقیق فایلی که فراخوانی شده را بر می‌گرداند $_SERVER[‘SCRIPT_FILENAME’]
پورتی که سرور از آن برای ارتباطات خود استفاده می‌کند را برمی‌گرداند $_SERVER[‘SERVER_PORT’]
نام دقیق فایلی که فراخوانی شده را بر می‌گرداند $_SERVER[‘SCRIPT_NAME’]
آدرس URI $_SERVER[‘REQUEST_URI’]

می‌توانید تک تک موارد بالا را خودتان برای تمرین تست کنید و نتیجه را در مرورگر مشاهده کنید. مطمئن باشید که این داده‌ها بارها و بارها به‌کارتان خواهد آمد، پس سعی کنید آنقدر آن‌ها را تمرین کنید که همیشه در ذهن‌تان باقی بمانند.

فرم‌ها در PHP

در پی‌اچ‌پی از دو متغیر POST_$ و GET_$ به منظور جمع‌آوری اطلاعات ثبت‌شده در فرم‌ها استفاده می‌کنیم. فرم‌ها در طراحی صفحات وب بخش غیرقابل انکاری هستند و به منظور تعامل کاربر و انجام اکثر کارهایی که به نوعی با اطلاعات سروکار دارند باید از فرم‌ها استفاده کنیم. فرم‌ ثبت‌نام، فرم ورود به محوطه کاربری، فرم بازیابی رمزعبور و … از جمله مهم‌ترین کاربردهای فرم‌ها در تولید وب‌سایت‌ها هستند.

با استفاده از تگ FORM در اچ‌تی‌ام‌ال می‌توانیم فرم موردنظر خود را ایجاد کنیم. تمامی فیلدهای ورودی باید در داخل این تگ به‌کار گرفته شوند. به مثال زیر توجه کنید:

<FORM action=”send.php” method=”post”>

name : <input type=”text” name=”username”>

<input type=”submit” name=”send” value=”Submit Your Name!”>

</form>

در کد بالا همان‌طور که می‌بینید یک فرم ایجاد کرده‌ایم که شامل یک فیلد ورودی برای وارد کردن نام است. این فیلد از نوع متنی بوده و خاصیت name آن را username تعیین کرده‌ایم. همچنین از یک دکمه از نوع Submit برای ثبت فرم استفاده کرده‌ایم و خاصیت نام این دکمه را send و متن روی دکمه را با خاصیت value برابر Submit Your Name! قرار داده‌ایم.

مهم‌ترین نکته کد بالا دو خاصیت action و method در تگ FORM است. در قسمت action ما عبارت send.php را نوشته‌ایم. این یعنی اطلاعات فرم ما پس از ثبت، به صفحه‌ای که در بخش action تعیین کرده‌ایم ارسال خواهد شد. همچنین در بخش method می‌توان از دو حالت get و post استفاده کرد. تفاوت این دو روش را نیز به شما توضیح خواهیم داد اما در کل نتیجه کار در هر دو حالت یکی خواهد بود.

کد بالا را در یک فایل به نام form.php قرار دهید و سپس این فایل را در همان پوشه new که در ابتدای آموزش ایجاد کرده بودید قرار دهید. حالا یک فایل دیگر به نام send.php ایجاد کنید و کد زیر را در آن قرار دهید:

<?php
$user = $_POST[‘username’];
echo “your name is : ” . $user;
?>

از آنجا که در بخش method فرم خود از روش post استفاده کرده‌ایم در اینجا برای دریافت اطلاعات فرم خود، از متغیر POST_$ استفاده کرده‌ایم. سپس در مقابل نام این متغیر (در واقع آرایه) به عضو مورد نظرمان که در اینجا name تعیین شده برای فیلد نام در فرم بالا است، را وارد کرده‌ایم. سپس نتیجه را در متغیر user ذخیره کرده و نهایتا آن را با دستور echo نمایش داده‌ایم. پس مثال بالا شامل دو فایل شد. یکی فایل form.php که فقط کدهای html را در آن به‌کار بردیم و دیگری فایل send.php که اطلاعات فرم ما به این صفحه ارسال می‌شود. سپس با دستورات پی‌اچ‌پی، اطلاعات وارد شده در فیلد username را از فرم گرفته و آن را چاپ کردیم.

اگر در هنگام تست کدهای بالا به آدرس URL در مرورگر توجه کنید ابتدا از آدرس http://127.0.0.1/new/form.php به فرم دسترسی یافته‌ و پس از ثبت فرم آدرس صفحه به http://127.0.0.1/new/send.php تغییر خواهد کرد. از آنجا که ما در ثبت فرم از متد post استفاده کرده‌ایم، اطلاعات به صورت امن و بدون این‌که به کاربر نمایش داده شوند به صفحه جدید که در اینجا send.php است ارسال شده است. اما تفاوت این روش با get چیست؟ در کد form.php در بخش method این‌بار به جای post از get استفاده کنید و فایل را ذخیره کنید. کد form.php شما در این حالت باید مثل زیر باشد:

<FORM action=”send.php” method=”get”>
name : <input type=”text” name=”username”>
<input type=”submit” name=”send” value=”Send Your Name!”>
</form>

حالا فایل send.php را نیز به صورت زیر تغییر دهید:

<?php
$user = $_GET[‘username’];
echo “your name is : ” . $user;
?>

می‌بینید که این‌بار به جای POST_$ از GET_$ استفاده کرده‌ایم و بقیه مراحل مشابه با روش قبل است. اما یک تفاوت بسیار مهم در این روش نسبت به روش post وجود دارد. اگر فرم را در این حالت ثبت کنید و به آدرس URL در مرورگر توجه کنید باید چیزی شبیه به عکس زیر را ببینید. من در صفحه form.php در فیلد نام عبارت mojtaba را نوشته و فرم را ثبت کردم. 

۵۸۴۲۲b2d-5982-4a82-83b5-81c895506efe

همان‌طور که در تصویر بالا هم می‌بینید این‌بار نام فیلد ثبت‌شده و نیز مقدار وارد شده در آن در آدرس مرورگر نمایان شده است. حال اگر کمی خلاقیت به خرج دهید کافی است به جای mojtaba در آدرس URL بالا، هر مقدار دیگری را که دوست دارید وارد کنید. نتیجه چه خواهد شد؟ نام جدید در مرورگر چاپ خواهد شد بدون این‌که نیاز باشد آن را از طریق فرم ثبت کنید! حالا اگر تعداد فیلدهای ما بیشتر باشد چه کاری باید انجام داد؟ فرض کنید در فرم خود ۳ فیلد با نام‌های user و age و city داریم. اگر این فرم را با متد GET ارسال کنیم آدرس URL صفحه‌ای که فرم به آنجا ارسال می‌شود به صورت زیر خواهد بود. فرض کنید نام صفحه مقصد mypage.php است:

mypage.php?user=mojtaba&age=25&city=tehran

می‌بینید که نام فیلد اول یعنی user پس از علامت سوال ? قرار گرفته و بعد = و سپس مقدار وارد شده در این فیلد. برای فیلدهای دوم به بعد نام هر فیلد پس از علامت & قرار می‌گیرد و مجددا = و سپس مقدار فیلد. به هر تعدادی که فیلد داشته باشیم از فیلد دوم به بعد به همین صورت در آدرس URL اضافه خواهند شد.

برای درک بهتر این بخش یک مثال دیگر می‌زنیم. یک فایل جدید به نام my.php در پوشه new ایجاد کنید و کد زیر را در آن قرار دهید:

<?php
$name = $_GET[‘name’];
$age = $_GET[‘age’];
$city = $_GET[‘city’];

echo “your name is $name and yor age is $age and your city is $city”;
?>

حالا آدرس زیر را در مرورگر خود اجرا کنید:

http://127.0.0.1/new/my.php?name=mojtaba&age=25&city=tehran

اگر کد بالا را اجرا کنید می‌بینید که ما مقادیر را به صورت مستقیم و بدون نیاز به فرم از طریق آدرس به صفحه موردنظر خود ارسال کرده‌ایم. نتیجه اجرای کد بالا در مرورگر به صورت زیر خواهد بود:

your name is mojtaba and yor age is 25 and your city is tehran

شما می‌توانید به جای مقادیر این سه متغیر در آدرس URL از مقادیر دلخواه خود استفاده کنید تا مبحث get را بهتر درک کنید.

برای تمرین سعی کنید یک فرم جدید ایجاد کنید که به جای یک فیلد دارای چند فیلد باشد و سپس با استفاده از دو متد post و get داده‌های ثبت شده توسط فرم را با پی‌اچ‌پی دریافت کرده و آنها را نمایش دهید. با استفاده از آنچه تا به این لحظه یادگرفته‌اید می‌توانید یک ماشین حساب ساده بسازید. ابتدا دو عدد را با فرم از کاربر دریافت کنید و سپس با پی‌اچ‌پی عملیات ریاضی موردنظر را انجام دهید. این کار بسیار ساده است و باعث می‌شود مبحث این جلسه را نیز به‌خوبی یاد بگیرید.

در جلسه بعدی رفته رفته وارد مباحث پیشرفته‌تر خواهیم شد. همچنین در صورتی که سوالی در مورد این جلسه دارید آن را از طریق بخش نظرات اعلام کنید.

منبع: زومیت

آموزش PHP – جلسه هشتم: توابع

در این جلسه از سری آموزش‌های پی‌اچ‌پی قصد داریم تا به یکی از مهم‌ترین و در عین حال لذت‌بخش‌ترین مباحث بپردازیم. توابع در هر زبان برنامه‌نویسی کاربرد بسیاری دارند و باعث می‌شوند تا در هنگام کدنویسی بتوانیم پروژه خود را منسجم‌تر تولید کنیم. در ادامه مطلب با ما همراه باشید.

توابع از جمله مهم‌ترین مباحثی است که در آموزش پی‌اچ‌پی باید یاد بگیرید. این مبحث علی‌رغم اهمیت بالا و کاربرد فراوان بسیار آسان و لذت‌بخش است. پس خود را برای یک سفر کوتاه اما به یادماندنی در دنیای PHP آماده کنید.

تابع (Function) چیست؟

اگر درس ریاضیات دوران دبیرستان خود را به‌یاد داشته باشید، تابع را به ماشینی تشبیه می‌کردیم که یک ورودی را گرفته و سپس عملیات خاصی را بر روی آن انجام داده و در نهایت یک خروجی را تولید می‌کند. در پی‌اچ‌پی نیز تعریف تابع همین است و توابع این زبان‌ برنامه‌نویسی یک داده ورودی را دریافت می‌کنند، عملیات موردنظر ما را بر روی آن داده یا داده‌ها انجام داده و نهایتا خروجی مورد نظرمان را تولید می‌‌کنند. در شکل زیر به ساده‌ترین حالت ممکن روش عملکرد تابع را برای شما رسم کرده‌ام:

۰aceda39-23c2-43ea-87c6-d98c6bef7bb2<?php
function MyFunc (){
//some oprates on code!
}
?>

همان‌طور که در کد بالا می‌بینید برای تعریف یک تابع ابتدا باید کلمه کلیدی function را نوشته و سپس نام موردنظر را برای تابع تایپ کنیم. سپس در صورتی که تابع ما نیاز به ورودی داشته باشد باید آن‌ها را در پرانتز مقابل نام تابع تعریف کنیم. در نهایت نیز عملیاتی که باید بر روی داده‌ها انجام شود بین } و { قرار داده می‌شود. دقت کنید در کد بالا ما نام تابع را MyFunc قرار داده‌ایم و این نام دلخواه است. فقط باید توجه داشته باشید در نامگذاری توابعی که تعریف می‌کنید، کلمات کلیدی پی‌اچ‌پی نظیر دستورات پیش‌فرض را به عنوان نام تابع نمی‌توانید انتخاب کنید.

در پی‌اچ‌پی می‌توان توابعی تعریف کرد که نیاز به ورودی نداشته باشند و این نوع توابع در واقع ساده‌ترین نوع ممکن توابع به حساب می‌آیند. به مثال زیر دقت کنید:

<?php
//define func
function bigHello()
{
echo “<h1>hello!</h1>”;
}

//call or using func
bigHello();
?>

در کد بالا ابتدا یک تابع به نام bigHello را معرفی کردیم و کد داخل آن را چاپ عبارت hello در بین تگ h1 تعیین کرده‌ایم. اما همان‌طور که اشاره شد تا زمانی که تابع را فراخوانی نکنیم هیچ اتفاقی نخواهد افتاد و به همین دلیل در خط بعدی با نوشتن نام تابع به صورتی که مشاهده می‌کنید آن را فراخوانی کرده‌ایم. نتیجه کد بالا چاپ عبارت Hello! در بین تگ h1 خواهد بود. حال شما می‌توانید به هر تعداد که می‌خواهید این تابع را فراخوانی کنید و طبیعتا به ازای هر بار فراخوانی تابع، یکبار کد داخل آن اجرا می‌شود.

این یکی از دلایل شیرین بودن مبحث توابع است که در اول مطلب اشاره کردم. شما یک‌بار کد موردنظر را می‌نویسید و سپس می‌توانید هر چقدر که نیاز داشته باشید از آن در پروژه خود استفاده کنید. در پروژه‌های بزرگ‌تر استفاده از توابع باعث می‌شود تا کدنویسی شما به حداقل برسد.

پارامتر‌ها در توابع یا همان ورودی توابع

حالت استاندارد توابع همان‌طور که گفتیم این است که یک یا چند ورودی دریافت کند. ورودی‌ها را می‌توان از طریق پارامترها به تابع ارسال کرد. برای این منظور به ازای هر ورودی که نیاز داریم تابع آن‌ها را دریافت کند، یک متغیر به همان روشی که متغیرها را تعریف می‌کردیم در داخل پرانتز مقابل نام تابع، وارد کنیم. به مثال زیر توجه کنید:

<?php

function myFunc ($name, $age)
{

echo “your name is $name and your age is $age”;

}

myFunc(“mojtaba”, “25”);

?>

تابع بالا دو پارامتر ورودی دریافت می‌کند و مقدار آن‌ها را در متغیرهایی که خود تعریف کرده‌ایم قرار می‌دهد. در مثال بالا نام و سن کاربر توسط تابع ما دریافت می‌شود و سپس جمله موردنظر نام و سن کاربر را اعلام می‌کند. همان‌طور که مشاهده می‌کنید برای استفاده از این تابع ابتدا نام آن را نوشته و سپس ورودی‌های آن را در پرانتز مقابلش وارد می‌کنیم.  از آنجا که تابع ما نیاز به دو پارامتر ورودی دارد، پس هر پارامتر را با یک کاما از دیگری جدا می‌کنیم. اگر نیاز به تعداد ورودی بیشتر داشته باشیم باید به همین صورت آن‌ها را با کاما از هم جدا کنید.

اگر در کد بالا، به جای دو ورودی، یک ورودی را وارد کنید، با خطای پی‌اچ‌پی مواجه خواهید شد چرا که کامپایلر php در این شرایط نیاز دارد تا دو ورودی به تابع ما ارسال شود.

برای درک بهتر ورودی‌ها در توابع به مثال دیگری توجه کنید. قصد داریم یک تابع بنویسیم که دو عدد را از کاربر گرفته و آن‌ها را در هم ضرب و سپس نتیجه را چاپ کند.

<?php

function Zarb ($a, $b)
{
$c = $a * $b;
echo $c;
}

//using our Zarb Function
Zarb (3, 5);
?>

نتیجه اجرای کد بالا چاپ عدد ۱۵ در مروگر کاربر خواهد بود.  در مثال بالا ابتدا دو ورودی از کاربر گرفته و آن‌ها را در متغیرهایی به نام a و b ذخیره کرده‌ایم. سپس یک متغیر داخلی به نام c در تابع خود تعریف می‌کنیم و مقدار حاصل از ضرب a و b را در آن قرار می‌دهیم. سپس مقدار c را به عنوان خروجی تابع چاپ می‌کنیم.

استفاده از آرگومان‌های ورودی پیش‌فرض در توابع

در مثال‌های قبل همان‌طور که اشاره کردیم به تعداد پارامترهای ورودی که برای هر تابع تعریف می‌کنیم، باید در هنگام فراخوانی آن تابع، به همان تعداد ورودی برای آن تعریف کنیم. اما می‌توانید یک مقدار پیش‌فرض برای هر کدام از ورودی‌های تابع تعریف کنیم تا در صورتی که کاربر آن ورودی را تعریف نکرد، اسکریپت نوشته شده توسط ما با خطا مواجه نشود.

به مثال زیر دقت کنید:

<?php

function myFunc ($name = “mojtaba”)
{
echo $name;
}

myFunc();

?>

در کد بالا همان‌طور که می‌بینید ما یک آرگومان ورودی برای تابع خود تعریف کرده‌ایم. اما این‌بار یک مقدار پیش‌فرض را نیز به آن نسبت داده‌ایم. سپس تابع را فراخوانی کرده‌ایم ولی هیچ آرگومانی را به آن نسبت نداده‌ایم! در این حالت دیگر با خطای پی‌اچ‌پی مواجه نخواهیم شد چرا که مقدار پیش‌فرض متغیر name چاپ خواهد شد.

مقادیر بازگشتی در توابع

تا اینجای کار ما خروجی توابع موردنظرمان را چاپ می‌کردیم. اما گاهی در کدنویسی شرایطی پیش می‌آید که نیاز به مقدار بازگشتی یک تابع داریم. اما مقدار بازگشتی یعنی چه؟ در تعریف متغیرها اگر به یاد داشته باشید گفتیم که هر متغیر یک مقدار را در خود جای داده است. حال اگر بخواهیم خروجی یک تابع را در یک متغیر ذخیره کنیم تا بتوانیم بعدا اعمال دیگری را بر روی آن انجام دهیم، در این شرایط استفاده از روش‌های بالا به کارمان نمی‌آید.

در مثال زیر می‌خواهیم یک تابع تعریف کنیم که دو عدد را از ورودی گرفته و آن‌ها را در هم ضرب می‌کند. اما این‌بار به جای چاپ خروجی، مقدار نهایی حاصل‌ضرب دو عدد ورودی را به صورت یک متغیر خروجی بازگشت می‌دهد.

<?php
function Zarb($a, $b)
{
$c = $a * $b;
return $c;
}

echo Zarb(2,3);
?>

در مثال بالا برای روشن‌تر شدن موضوع ابتدا مقدار بازگشتی تابع Zarb را در متغیری به نام c ریخته‌ایم و سپس مقدار c را با دستور echo چاپ کرده‌ایم. نهایتا خروجی کد بالا عدد ۲۰ خواهد بود. حالا احتمالا به خوبی مفهوم مقدار بازگشتی در توابع را یاد گرفته‌اید.

مبحث توابع نیز در این لحظه به پایان رسید. برای تمرین این جلسه سعی کنید چند تابع با کاربردهای مختلف برای خود بنویسید و از آن‌ها در کدهای خود استفاده کنید. همچنین سعی کنید توابعی بنویسید که مقدار بازگشتی داشته باشند و سپس با مقادر بازگشتی همانند مثال بالا، عملیات‌ خاصی را انجام دهید.

در جلسه بعد اولین پروژه عملی این دوره آموزشی را با هم ایجاد خواهیم کرد و در هر جلسه علاوه بر یادگیری مباحث جدید و کاربردی، پروژه خود را کامل‌تر می‌کنیم. همچنین در صورتی که سوالی در مورد مباحث این جلسه دارید آن را در بخش نظرات اعلام کنید.

منبع: زومیت

آموزش PHP – جلسه پنجم: عبارات شرطی، دستور if

در سری مقالات آموزش پی‌اچ‌پی در وبلاگ مهرآستان تقریبا پایه‌ کار برای کدنویسی کاربردی‌تر را یاد گرفته‌اید. در این جلسه می‌خواهیم کدنویسی شرطی را به شما آموزش دهیم و یاد بگیریم که چگونه شرایط مختلف را در پروژه‌های خود کنترل کنیم. در ادامه مطلب با ما همراه باشید.

گاهی در برنامه‌نویسی شرایط پیش‌آمده را باید بتوانید پیش‌بینی و کنترل کنید. به عنوان مثال اگر کاربر هر نوع ورودی را وارد کرد، باید بدانید که چه عملیاتی بر روی ورودی انجام شود و تا نتیجه موردنظر به وی نمایش داده شود. این اصول ساده عبارت شرطی در پی‌اچ‌پی است! 

در تمامی کلاس‌هایی که طی دوران برنامه‌نویسی‌ برگزار کرده‌ام همیشه یک نکته مهم را یادآوری کرده‌ام؛ همیشه سعی کنید یک الگوریتم مناسب را پیش از شروع کدنویسی در مورد پروژه مدنظرتان آماده کنید. ما در اینجا نمی‌خواهیم وارد مبحث الگوریتم شویم اما طرح کلی پروژه همراه با پیش‌بینی‌ شرایط مختلفی که ممکن است رخ دهد را الگوریتم می‌گوییم. باز هم اشاره می‌کنیم که این تعریف صرفا به منظور فهم بهتر افراد تازه‌وارد به دنیای پی‌اچ‌پی است و بنابراین زیاد به جزئیات آن توجه نکنید. بهتر است کمی در مورد الگوریتمنویسی و اصول آن در گوگل جستجو کنید پیش از  هر پروژه، ترجیحا الگوریتم آن را آماده کنید.

دستور شرطی If

همانند تمامی زبان‌های برنامه‌نویسی، دستور شرطی if یکی از مهم‌ترین دستورهایی است که باید آن را یاد بگیرید. بعید به نظر می‌رسد در یک پروژه به دفعات از این دستور استفاده نکنید و همواره یکی از پراستفاده‌ترین و البته کاربردی‌ترین ابزارها برای کنترل شرایط مختلف در کدنویسی محسوب می‌شود. همانطور که در بالا اشاره کردیم، کنترل شرطی به کامپایلر پی‌اچ‌پی می‌گوید که اگر (if) شرایط خاصی رخ داد آنگاه کدام عملیات را باید انجام داد. پیش از اینکه به سراغ ادامه آموزش برویم بهتر است یادآوری کنیم که این آموزش ادامه و دنباله آموزش‌های قبلی است و برای درک این بخش باید سه جلسه قبلی را به‌خوبی فرا گرفته باشید.

برای استفاده از این دستور ابتدا if را نوشته و سپس در پرانتز مقابل آن شرط موردنظر را می‌نویسیم و در نهایت قطعه کدی که در صورت صحیح بودن شرط قرار است اجرا شود را بین علامت } و { می‌نویسیم. به قطعه کد مثال زیر دقت کنید: (برای استفاده و اجرای این مثال مانند قبل xampp را اجرا کنید و یک فایل php جدید را با نام دلخواه براساس آموزش‌های جلسات قبل ایجاد کنید. سپس کدهای زیر را در آن فایل نوشته و نتیجه را در مرورگر تست کنید.)

<?php
//usiing if
$var1 = “weblog”;
$var2 = “mehrastan”;

if ($var1 == “weblog”)
{
echo ‘you will go to weblog’;
}
?>

خب در کد بالا ابتدا دو متغیر را تعریف و مقداردهی کرده‌ایم. سپس دستور if را بکار گرفته‌ایم و در شرط آن با استفاده از عملگرهای کنترلی که در جلسه قبل به صورت کامل و مفصل آن‌ها را توضیح دادیم، شرط موردنظر را وارد می‌کنیم. در صورتیکه شرط داخل پرانتز برقرار باشد، کدی که بین } و { قرار گرفته اجرا خواهد شد و در غیر اینصورت هیچ کدی اجرا نمی‌شود. از آنجا که شرط کد بالا برقرار است و نتیجه آن true است، پس کد بین براکت‌ها اجرا خواهد شد و بنابراین عبارت you will go to weblog در مرورگر کاربر نمایش خواهد یافت.

اما بگذارید شرط را تغییر دهیم تا این بار برقرار نباشد و در نتیجه False را برگرداند. 

<!?php
//usiing if
$var1 = “weblog”;
$var2 = “mehrastan”;

if ($var2 == “weblog”)
{
echo ‘you will go to weblog’;
}
?>

از آنجا که مقدار متغیر var2 در کد بالا برابر با weblog نیست پس شرط داخل پرانتز نتیجه false را بر می‌گرداند و در نتیجه کدی که بین } و { قرار گرفته این بار اجرا نمی‌شود.

کنترل بیشتر شرط با else

مثال‌های بالا در واقع ساده‌ترین شکل استفاده از دستور شرطی if بودند. اما می‌توانیم این دستور را در حالت پیشرفته‌تری نیز بکار ببریم. مثلا بگوییم اگر شرط موردنظر برقرار بود یک کد و اگر شرط برقرار نبود کد دیگری اجرا شود. برای این منظور باید از else نیز در دستور if استفاده کنیم. به مثال زیر توجه کنید:

<?php
//using if … else

$var1 = “weblog”:
$var2 = “mehrastan”;

if ($var1 == “weblog”)
{
echo “you will go to weblog”;
}else{
echo “you will not go to weblog”:
}

همانطور که می‌بینید استفاده از else بسیار آسان است و کافی است آن را در دنباله دستور if بنویسیم و شرط موردنظر برای شرایطی که عبارت مقابل if برقرار نباشد را در این بخش وارد کنید. در کد بالا ابتدا توسط دستور if بررسی می‌کنیم که آیا مقدار متغیر var1 برابر با weblog است یا خیر.  اگر شرط برقرار بود عبارت you will go to weblog در مرورگر کاربر نمایش خواهد یافت و اگر شرط برقرار نبود، کدی که در بخش else قرار داده شده اجرا می‌شود که در اینجا عبارت you will not go to weblog است. 

حالا یک تمرین برایتان داریم! در کد بالا چون شرط برقرار است، مشخصا عبارتی که در مرورگر نمایان می‌شود you will go to weblog خواهد بود. شما کد را به نحوی تغییر دهید که شرط برقرار نباشد و عبارت you will not go to weblog در مرورگر نمایان شود.

روش کلی و استاندارد استفاده از if به همین سادگی بود که خدمتتان توضیح دادیم. اما می‌توان از if به صورت مختصرتر و کاربردی‌تری هم استفاده کرد که فعلا کاری با آن روش‌ها نداریم چراکه قصد ما ارائه روش آموزشی بسیار ساده و به دور از پیچیدگی است. در ادامه دروس و در مثال‌های کاربردی‌تر و عملی‌تر با این حالات مختلف هم آشنا خواهید شد.

گفتیم که در عبارات شرطی که در دستور if بکار می‌بریم همیشه دو حالت بیشتر پیش نمی‌آید: یا شرط برقرار است که در این حالت مقدار true را بر می‌گرداند یا شرط برقرار نیست که در این حالت مقدار false را بر می‌گرداند. در برخی مواقع در کدنویسی شرایطی پیش‌ می‌آید که نیاز دارید از این نکته با یک روش بسیار آسان بهره ببرید. ابتدا طبق معمول توجه شما را به مثال زیر جلب می‌کنیم و در ادامه آن را به طور دقیق مورد بررسی قرار می‌دهیم:

<?php
$x = true;
$y = false;

if ($x){
echo “we are ture!”;
}else{
echo “we are false!”;
}
?>

حتما تعجب کرده‌اید که چرا به جای نوشتن یک شرط در مقابل دستور if فقط نام متغیر x را آورده‌ایم. به‌نظر شما نتیجه اجرای کد بالا چه خواهد بود؟ اگر نکات گفته شده را به‌خوبی فرا گرفته باشید باید بدانید که نتیجه کد بالا چاپ عبارت we are ture! در مرورگر خواهد بود. اما چرا؟ گفتیم هدف از شرطی که در پرانتز نوشته می‌شود نهایتا به دست آمدن یک true یا false یا همان صحیح و غلط بودن است. از آنجا که مقدار متغیر x را true تعیین کرده‌ایم پس دستور if کاری به هیچ چیز ندارد جز خروجی که در این مثال خروجی متغیر x همان true است و در این حالت شرط برقرار بوده و در نتیجه we are true چاپ می‌شود. اما اگر به جای x در شرط دستور بالا y را قرار دهیم چه می‌شود؟ عبارت بخش else یعنی we are false! در مرورگر نمایان خواهد شد.

کنترل چند عبارت شرطی با else if

اما باز هم می‌توان دستور if را پیشرفته‌تر از این هم مورد استفاده قرار داد. فرض کنید در پروژه خود با شرایطی مواجه شده‌اید که باید چند حالت مختلف را بررسی کنید و در صورتی که هر کدام از شرایط موردنظر برقرار بود کد خاصی اجرا شود. در اینجا دو سناریو یا به اصطلاح برنامه‌نویس‌ها، دو سولوشن (solution) یا همان راه‌حل اصلی برای این منظور وجود دارد. اول این‌که برای هر شرایطی یک دستور if  جداگانه بنویسیم و دوم این‌که یک دستور if چند شرطه را مورداستفاده قرار دهیم. در پی‌اچ‌پی می‌توانید چندین شرط را به صورت همزمان با یک دستور if بررسی کنید. بدین منظور دقیقا مانند else باید از دستور else if استفاده کنید با این تفاوت که این بار در مکان else if هم می‌توانید مثل if اصلی شرط تعیین کنید. البته دستورات دیگری نیز برای بررسی چند شرط وجود دارند و اصولا در php برای هر مسئله‌ای تعداد زیادی روش وجود دارد. به کد زیر توجه کنید:

<?php
$site1 = “weblog”;
$site2 = “forum”;
$site3 = “mehrastan”;

if ($site1 == “weblog”)
{
echo “site is weblog”;
}else if ($site1 == “forum”)
{
echo “site is forum”;
}else if ($site1 == “mehrastan”)
{
echo “site is mehrastan”;
}else{
echo “site is not in list”;
}
?>

مثال بالا را به نوعی می‌توان حالت استاندارد استفاده از دستور کامل if دانست. در ابتدا سه متغیر معرفی و مقداردهی شده‌اند. سپس با دستور if شرط اول را بررسی می‌کنیم که اگر مقدار متغیر site1 برابر با weblog بود عبارت site is weblog چاپ شود. سپس شرط دیگری را با else if بررسی می‌کنیم و می‌گوییم اگر متغیر site1 برابر با forum بود عبارت site is forum چاپ شود. در نهایت شرط سومی را نیز مجددا با دستور else if بررسی کرده‌ایم که اگر site1 برابر با mehrastan بود، عبارت site is mehrastan چاپ شود. سپس در آخر با استفاده از دستور else به پی‌اچ‌پی اعلام می‌کنیم که در صورت برقرار نبودن هیچ‌کدام از این شرط‌ها عبارت site is not in list در مرورگر چاپ خواهد شد.

استفاده از if به صورت تو در تو

دستور if را می‌توانید به صورت تو در تو نیز استفاده کنید. با بزرگ‌تر شدن پروژه‌ها رفته رفته نیاز به استفاده از if به صورت تو در تو خواهید داشت. همچنین برای ساده سازی برخی کارها می‌توان به صورت زیرکانه از if های تو در تو بهره گرفت. البته چون فعلا نیازی به استفاده از چنین حالتی نداریم و نیز نمی‌خواهیم مبحث را سنگین‌تر کنیم برای این حالت در حال حاضر یک مثال ساده می‌آوریم و در بخش‌های پیشرفته‌تر و انجام کدنویسی برای تمرینات عملی، بیشتر با این حالات و تکنیک‌ها آشنا خواهید شد.

<?php
$fname = “mojtana”;
$lname = “bolhasani”;

if ($fname == “mojtaba”){
if ($lname == “bolhasani”)
{
echo ” your full name is mojtaba bolhasani”:
}
}else{
echo “your are not in list”;
}

سعی کنید کد بالا را ابتدا خودتان تحلیل کنید. در ابتدا دو متغیر تعریف و مقداردهی شده‌اند. سپس در شرط اول بررسی می‌کنیم که آیا متغیر fname برابر با mojtaba است یا خیر. در صورتی که شرط برقرار نباشد کد بخش else اجرا خواهد شد و در صورتی که درست باشد پی‌اچ‌پی به سراغ if دوم می‌رود و سپس در این if جدید بررسی می‌کنیم که آیا متغیر lname برابر با bolhasani است یا نه. اگر این شرط هم برقرار باشد در نهایت عبارت your full name is mojtaba bolhasani در مرورگر نمایان خواهد شد.

این حالت ساده استفاده از if تو در تو بود ولی همان‌طور که اشاره کردیم پی‌اچ‌پی آنقدر دست توسعه‌دهنده را باز می‌گذارد که برای انجام هر کاری می‌توان از روش‌ها و سولوشن‌های ابتکاری و پیش‌فرض زیادی بهره برد.

بررسی چند شرط به صورت همزمان

گاهی نیاز است تا چند شرط به صورت همزمان با هم برقرار باشند تا به کد اجازه دهیم عملیات خاصی را انجام دهد. بیایید ثابت کنیم پی‌اچ‌پی چرا انقدر محبوب است! خب مثال بخش قبلی را به خاطر بیاورید که دو شرط را به صورت تو در تو بررسی کردیم. می‌توان کد بالا را به این صورت هم نوشت:

<?php
$fname = “mojtana”;
$lname = “bolhasani”;

if ($fname == “mojtaba” && $lname == “bolhasani”)
{
echo ” your full name is mojtaba bolhasani”:
}else{
echo “your are not in list”;
}
?>

اگرچه کد بالا نسبت به مثال قبلی بسیار خلاصه‌تر و خواناتر است اما نتیجه کار یکی است! یکی از دلایل لذت‌بخش بودن برنامه‌نویسی با پی‌اچ‌پی همین موارد است! در جلسه قبلی با عبارات کنترلی آشنا شدید و حالا در این مثال از آن‌ها کمی استفاده کردیم. در دستور if می‌توانید هر چقدر که دلتان می‌خواهد شرایط مختلف را به صورت همزمان با هم بررسی کنید. در کد بالا دو شرط به صورت همزمان بررسی می‌شوند و در صورتی که هر دو درست باشند، عبارت your full name is mojtaba bolhasani چاپ خواهد شد و در غیر این صورت هم که دیگر خودتان می‌دانید!  البته چون در بین دو شرط نوشته شده عبارت && را قرار داده‌ایم وضعیت به این صورت پیش‌ می‌رود چراکه && در صورتی true را بر می‌گرداند که هر دو طرف آن با هم برابر باشند. زیاد نگران این بخش هم نباشید و فقط سعی کنید آن را برای خود تحلیل کنید.

دیدید که با استفاده از دستور if می‌توان شرایط مختلف و وضعیت‌های گوناگون را در برنامه‌نویسی با php پیش‌بینی و کنترل کرد. برای فراگرفتن هرچه بهتر این مبحث سعی کنید برای خود چند مثال ایجاد کنید. چند شرط را در نظر بگیرید و برای آن کد بزنید! سعی کنید از آرایه‌ها نیز استفاده کنید. همچنین چند شرط را در دستور if بکار بگیرید تا بخوبی این مبحث را هم درک کنید.

اگر سوالی در مورد هر یک از مباحث مطرح شده داشتید، آن را در بخش دیدگاه‌ها بپرسید. ما و سایر کاربران در حد توان پاسخ شما را خواهیم داد.

منبع: زومیت

آموزش PHP – جلسه چهارم: آرایه ها

در ادامه سری آموزش‌های پی‌اچ‌پی امروز قصد داریم تا به مبحث مهم آرایه‌ها بپردازیم. آرایه در زبان ساده محلی است که می‌توان در آن بیش از یک مقدار را ذخیره‌سازی کرد. در ادامه مطلب با ما همراه باشید.

در جلسات گذشته آموزش‌های ابتدایی زبان برنامه‌نویسی پی‌اچ‌پی را با هم گذراندیم. حالا می‌خواهیم در این جلسه به آرایه‌ها بپردازیم.

آرایه‌ها در پی‌اچ‌پی

اگر خاطرتان باشد در جلسات قبل به صورت مفصل در مورد متغیرها در پی‌اچ‌پی با شما صحبت کردیم و انواع آن را نیز موردبررسی قرار دادیم. متغیرها می‌توانند یک مقدار را برای ما نگهداری کنند و در مواقع نیاز می‌توان به آن مقدار دسترسی داشت. اما این روش برای ذخیره‌سازی اطلاعات همیشه کاربردی نیست و فرض کنید تعداد زیادی داده از یک نوع خاص را بخواهیم ذخیره کنیم. در چنین شرایطی طبیعا معرفی و استفاده چند متغیر کاربردی به نظر نمی‌آید. اینجاست که آرایه‌ها وارد عمل می‌شوند.

آرایه به زبان ساده همان متغیر است با این تفاوت که می‌توان بیش از یک مقدار را در آن قرار داد. (حتی می‌توان از آرایه‌های سه‌بعدی استفاده کرد که فعلا کاری با آن‌ها نداریم و فعلا آرایه‌های معمولی را موردبررسی قرار خواهیم داد.)

آرایه‌های خطی (دوبعدی)

خب برای معرفی و استفاده از آرایه‌ها همانند متغیرها یک علامت $ را تایپ کرده و نام موردنظر را برای آرایه انتخاب می‌کنیم. سپس علامت = را قرار داده و با عبارت کلیدی Array اقدام به ذخیره‌سازی داده‌ها در آن آرایه می‌کنیم. به مثال زیر توجه کنید:

<?php
$names = Array(“mehrastan”,”weblog”,”university”);
?>

همان‌طور که در کد بالا می‌بینید ما سه مقدار weblog ،mehrastan، و university را در آرایه‌ای به نام names ذخیره کردیم. اما چگونه می‌توان به مقدار موردنظر دسترسی داشت؟ فرض کنید در اسکریپت موردنظرتان نیاز دارید تا به داده‌ دوم یعنی weblog دسترسی داشته باشید. برای اینکار باید از ایندکسگذاری آرایه‌ها استفاده کنیم. دقت کنید در آرایه‌ها شماره هر داده با یک عدد منحصر به فرد که از ۰ شروع شده و یک واحد یک واحد به این مقدار اضافه می‌شود. مثلا برای آرایه بالا ایندکس داده‌ها به ترتیب از چپ به راست برابر با ۰ سپس ۱ و بعد از آن ۲ خواهد بود. نکته مهم اینجاست که شماره‌گذاری (ایندکس) داده‌ها در آرایه‌ها در تمام زبان‌های برنامه‌نویسی به همین شکل است و از عدد صفر شروع می‌شود. بنابراین طبیعی است که برای آرایه فوق که شامل ۳ عضو است این مقادیر ۰ و ۱ و ۲ باشند. با توجه به توضیح بالا برای دسترسی به مقدار weblog باید از کد زیر استفاده کنیم:

<?php
$names = Array(“mehrastan”,”weblog”,”university”);
//access and echo weblog from above array
echo $names[1]; //this will print : weblog
?>

همان‌طور که می‌بینید با قرار دادن شماره ایندکس عضو موردنظر در داخل [] و پس از نام آرایه می‌توانید به عضو موردنظر دسترسی داشته باشید. اما حال فرض کنید شرایطی پیش می‌آید که شما باید خودتان شماره‌گذاری ایندکس‌ها را به دست بگیرید. این‌کار در پی‌اچ‌پی به راحتی آب خوردن است! به کد زیر دقت کنید:

<?php
$user_details = Array(“name” => “mojtaba”, “age” => “25”, “fav” => “php”);
?>

همان‌طور که در کد بالا می‌بینید ما در آرایه‌ای به نام user_details یکسری از مشخصات کاربر را ذخیره کرده و برای هر داده یک ایندکس اختصاصی در نظر گرفتیم. در این شرایط باز هم البته می‌توانید از روش قبلی بهره ببرید و به عنوان مثال برای دسترسی به مقدار نام از ایندکس شماره صفر استفاده کنید. اما در آرایه بالا ما سه مشخصه نام، سن و علاقه را در یک آرایه قرار داده و برای هر کدام از این داده‌ها یک ایندکس دلخواه تعریف کردیم که در مثال بالا این ایندکس‌ها به ترتیب: name سپس age و در آخر fav هستند. حالا برای دسترسی به مقدار age کافی‌است از کد زیر استفاده کنید:

<?php
$user_details = Array(“name” => “mojtaba”, “age” => “25”, “fav” => “php”);

//access and echo age in user_details
echo $user_details[‘age’]; //this will prints: 25
?>

همانطور که مشاهده می‌کنید به جای شماره ایندکس داده موردنظر از ایندکس اختصاصی خودمان برای دسترسی به سن کاربر در آرایه فوق بهره گرفتیم. نکته مهم اینجاست که به نحوه نوشتن آرایه‌ها و نیز اختصاص ایندکس دلخواه خیلی دقت کنید تا کد شما به درستی اجرا شود.

روش دیگر

روش دیگر برای اختصاص دادن مقدار به آرایه‌ها به  صورت زیر است:

<?php
$user_details[‘name’] = “mojtaba”;
$user_details[‘age’] = 25;
$user_details[‘fav’] = “php”;

echo $user[‘age’]; //this will prints 25
?>

کد بالا و مثال قبل عینا یک نتیجه را در برخواهند داشت و در این مرحله باید آنقدر پیشرفت کرده باشید که کد بالا را خودتان به‌راحتی تحلیل کنید. تنها روش در این بخش فرق کرده و نتیجه یکسان است. پی‌اچ‌پی در اکثر بخش‌ها به همین صورت دست توسعه‌دهنده را بسیار باز گذاشته و می‌توان حتی در مواردی با خلاقیت خود روش‌های جدیدی برای استفاده از پیش‌فرض‌های برنامه‌نویسی به‌دست آورد.

آرایه‌های چندگانه (چند بعدی)

همان‌طور که گفتیم آرایه‌ها فقط به صورت خطی مورداستفاده قرار نمی‌گیرند. یکی از بهترین قابلیت‌های پی‌اچ‌پی این است که شما می‌توانید آرایه‌هایی با بی‌نهایت بعد ایجاد کنید! خب این یعنی چه؟ بهتر است کار را با یک مثال دیگر ادامه دهیم:

فرض کنید شما داده‌های مرتبط با چند کاربر را از بانک داده گرفته‌اید و می‌خواهید آن‌ها را مورداستفاده قرار دهید. در این حالت بهترین کار این است که اطلاعات مرتبط با هر کاربر در یک آرایه مختص به خود او قرار گیرد و بعد از این‌کار به‌راحتی می‌توان به هر مشخصه از هر کاربر دسترسی یافت. استفاده از آرایه‌های چند بعدی درست شبیه آرایه‌های دوبعدی است و فقط کمی مراحل در اینجا بیشتر خواهد شد.

<?php
$users = Array (“user1” => array (“name” => “mojtaba”, “fav” => “php”), “user2” => array (“naem” => “miaad”, “fav” => “mehrastan”));
?>

همان‌طور که در کد بالا می‌بینید این‌بار به جای اختصاص دادن یک داده در واقع یک آرایه به هر عضو اختصاص داده شده است. اگر کد بالا کمی شما را سردرگم کرده اصلا جای نگرانی نیست چرا که با چندبار تمرین واقعی و نوشتن کد به شما قول می‌دهم این مبحث را آن‌چنان خوب یاد می‌گیرید که فکرش را هم نمی‌کنید! پس همین حالا دست به‌کار شوید و همزمان با خواندن آموزش کدها را بنویسید.

در کد بالا ما اطلاعات دو کاربر را که برای هر کدام شامل نام و علاقه وی می‌شود در آرایه‌ای به نام users قرار دادیم. اما برای دسترسی به هر عضو از این آرایه چگونه باید عمل کرد؟ فرض کنید می‌خواهیم نام کاربر اول را در خروجی چاپ کنیم. در این حالت باید از کد زیر استفاده کنیم:

<?php

$users = Array (“user1” => array (“name” => “mojtaba”, “fav” => “php”), “user2” => array (“naem” => “miaad”, “fav” => “mehrastan”));

echo $users[‘user1’][‘name’]; //this will prints : mojtaba
?>

خب همان‌طور که دیدید در اینجا کافی‌است از دو ایندکس استفاده کنیم. ایندکس اول user1 است که به پی‌اچ‌پی می‌گوید در آرایه users به دنبال عضوی به نام user1 هستیم. سپس در ایندکس دوم به پی‌اچ‌پی میگوییم به دنبال مشخصه name از عضو انتخاب شده هستیم. در اینجا همان‌طور که در کد هم به‌خوبی مشخص شده خروجی mojtaba خواهد بود. مبحث آرایه‌های چند بعدی همان‌طور که گفتیم فقط نیاز به تمرین دارد. اگر یادتان باشد در بخش آرایه‌های خطی مثال آوردیم تحت عنوان روش دیگر برای تمرین شما سعی کنید آن روش را برای آرایه‌های چندبعدی مثلا برای کد بالا مورداستفاده قرار دهید.

مبحث این جلسه از آموزش PHP نیز در همین‌جا به پایان می‌رسد. از جلسه بعد رفته رفته شروع به ساخت اسکریپت‌های کاربردی می‌کنیم و مباحث بیشتری را خواهیم آموخت. پس هم‌چنان پیگیر این سری آموزشی در وبلاگ مهرآستان باشید. در صورتی که سوالی در مورد محتوای این جلسه دارید نیز در بخش دیدگاه‌ها آن را اعلام نمایید.

منبع: زومیت

آموزش PHP – جلسه دوم، متغییرها و توضیحات در کدها

در جلسه اول آموزش برنامهنویسی و طراحی وب به زبان PHP رایانه خود را به سرور محلی تبدیل کردیم و نیز ابزارهای موردنیاز برای شروع برنامهنویسی به این زبان را نصب کرده و در نهایت هم شاهد اجرای موفق اولین پروژه خود بودیم. در این جلسه می‌خواهیم در مورد متغیرها و نیز عملگرها در php صحبت کنیم. در ادامه با ما همراه باشید.

همانطور که در جلسه قبل توضیح دادیم ابتدا Xampp را باز کرده و سرور Apache و MySQL را آنگونه که توضیح دادیم اجرا کنید. سپس در پوشه htdocs یک پوشه جدید به نام section2 ایجاد کنید. حال ++NotePad را باز کنید. همانند جلسه اول، از منوی Language زبان php را انتخاب کنید. و بدون اینکه چیزی در این فایل بنویسید، آن را با نام vars.php در پوشه section2 دخیره کنید. بدین طریق می‌توانید از طریق آدرس http://127.0.0.1/section2/vars.php به این فایل دسترسی داشته باشید.

دستور چاپ و خروجی در php

برای چاپ متون و سایر موارد در پی‌اچ‌پی می‌توان از دستورات مختلفی که به این منظور ایجاد شده‌اند استفاده کرد. رایج‌ترین دستور برای چاپ خروجی در php همانند کدی که جلسه اول نوشتیم، دستور echo است. روش استفاده از این دستور بدین صورت است که ابتدا آن را نوشته و سپس آنچه قصد داریم به عنوان خروجی در مرورگر کاربر نمایش یابد را مقابل آن می‌نویسیم. اگر بخواهیم به صورت مستقیم با این دستور خروجی داشته باشیم باید آن را بین دابل‌کوتیشن یا تک‌کوتیشن قرار دهید و در آخر نیز علامت نقطه‌ویرگول را قرار دهید که به معنای پایان آن خط و دستور در پی‌اچ‌پی است. در ادامه چند دستور چاپ و خروجی را با یکدیگر تمرین می‌کنیم.

++NotePad را باز کنید و کد زیر را در آن وارد کنید:

<?php

echo “salam. in jalase dovome amoozeshe php dar zoomit ast.”;

?>

به‌نظر شما خروجی کد بالا چیست؟ همانطور که احتمالا حدس زده‌اید آنچه بین دابل کوتیشن قرار دارد به عنوان خروجی در مرورگر کاربر نمایش خواهد یافت. (یعنی عبارت salam. in jalase dovome amoozeshe php dar zoomit ast.) علاوه بر متن می‌توان کدهای اچ‌تی‌ام‌ال را نیز توسط دستور  echo در مرورگر به کاربر نشان داد. کد بالا را به صورت زیر تغییر دهید:

<?php

echo “salam. in jalase dovome amoozeshe php dar zoomit ast.<br>in khate dovom ast<b>matne zakhim</b><i>matine kaj</i>”;

?>

خروجی کد بالا به صورت زیر خواهد بود:

ef8a71be-473a-4c7e-874b-24d991df4ca5همانطور که در عکس بالا می‌بینید هر آنچه در مقابل عبارت echo قرار داده شود حتی کدهای اچ‌تی‌ام‌ال به‌خوبی اجرا می‌شوند. دقت کنید در صورتی که کدهای html در این دستور بین تک‌کوتیشین قرار گیرند به صورت کد html پردازش نشده و به همان شکل در مرورگر نمایش می‌یابند. پس برای این‌که کدهای اچ‌تی‌ام‌ال به‌درستی اجرا شوند باید مطمئن شوید آن‌ها را در بین دابل‌‌کوتیشین قرار داده‌اید.

نوشتن توضیحات در کدهای php

در تمامی زبان‌های برنامه‌نویسی، توسعه‌دهندگان توضیحاتی را با توجه به قواعد آن زبان، در کدهای خود درج می‌کنند تا در مراجعات بعدی راحت‌تر بتوانند از کدهای خود سر در بیاورند و نیز توسعه‌دهندگان دیگر بتوانند راحت‌تر کدها را درک کنند. دقت کنید که توضیحات فقط برای توسعه‌دهنده و برنامه‌نویس قابل دیدن بوده و به هیچ‌وجه در خروجی قرار نگرفته و کاربران آن‌ها را نمی‌بینند. برای نوشتن توضیحات در php می‌توان به چند روش عمل کرد. ++NotePad را گشوده و یک فایل جدید php را مانند قبل بسازید و آن را با نام comment.php در پوشه section2 ذخیره کنید. در این فایل کدهای زیر را وارد کنید:

<?php

// in yek tozih yek khati ast va dar moroorgar namayesh nemiyabad

# in ham tozihe yek khati digari ast

/* in yek tozi chand khati ast

khate dovome tozih */

?>

همان‌طور که می‌بینید می‌توانید به چند طریق توضیحات تک‌خطی و چندخطی را در پی‌اچ‌پی به‌کار ببرید.

متغیرها در php

در ابتدا مفهوم متغیر را برای شما توضیح می‌دهیم. فرض کنید شما یک کاسه خالی دارید. خب در این حالت می‌توانید هر چه دوست دارید را در این کاسه قرار دهید. مثلا یک بار آب، یک بار چند میوه و … در اینجا کاسه شما حکم متغیر را دارد که هر لحظه می‌تواند چیزی را در خود داشته باشد.

متغیرها در زبان‌های برنامه‌‌نویسی مختلف وجود دارند و از مهم‌ترین بخش‌های یک پروژه به حساب می‌آیند. در تمامی پروژها قطعا به استفاده از متغیرها نیاز خواهید داشت پس باید این مبحث ساده را به‌خوبی فرا بگیرید. پی‌اچ‌پی برخلاف سایر زبان‌های برنامه‌نویسی برای هر نوع داده، متغیر جداگانه ندارد و این موضوع یکی از نکات و جوانب بسیار مثبت php است. شما یک متغیر را تعریف کرده و هر نوع داده‌ای که می‌خواهید را در قرار می‌دهید.

اما تعریف و استفاده از متغیرها قواعد خاصی هم دارد. برای معرفی کردن متغیرها باید ابتدا علامت $ را نوشته و پس از آن نام متغیر موردنظر را بنویسید. دقت کنید در نام‌گذاری متغیرها حروف بزرگ و کوچک با یکدیگر فرق دارند. برای مثال متغیری با نام var$ با متغیری با نام Var$ تفاوت دارد و پی‌اچ‌پی در واقع آن‌ها را دو متغیر جدا از هم می‌داند.

بهترین روش یادگیری استفاده از مثال عملی است. در فایلی که به نام vars.php ایجاد کردید، کدهای زیر را عینا تایپ کنید:

<?php

// متغیر رشته ای

$var1 = “Mehrastan”;

// متغیر عدد صحیح

$var2 = 123;

// متغیر اعشاری

$var3 = 1.2222;

// متغیر صحیح یا غلط

$var4 = true;

?>

همانطور که در بالا می‌بینید می‌توان هر نوع داده‌ای را در متغیری که در پی‌اچ‌پی تعریف کرده‌اید قرار دهید. برای نسبت دادن مقدار به متغیرها باید پس از معرفی، علامت = را قرار داده و سپس مقدار موردنظر را تایپ کنید. اگر پیش‌تر با زبان‌های دیگر برنامهنویسی کرده باشید می‌دانید که چند نوع متغیر اصلی وجود دارد:

  • متغیرهای رشته‌ای
  • متغیرهای اعداد صحیح
  • متغیرهای اعداد شناور
  • متغیرهای دوحالته که یک مقدار صحیح یا غلط را نگه می‌دارند

این ۴ نوع متغیر اصلی در اکثر زبان‌های برنامهنویسی هستند. شما هر نوع داده‌ای که به متغیر موردنظرتان نسبت دهید، آن متغیر خودبه‌خود از نوع داده شما خواهد بود. برای مثال در کد بالا متغیر اول از نوع رشته‌ای است چراکه داده نسبت داده شده به آن یک رشته متنی است.

نکته مهم در مورد رشته‌ها این است که در پی‌اچ‌پی باید این نوع داده را بین دابل‌کوتیشین یا تک‌کوتیشن قرار دهید. البته تفاوت‌هایی بین این دو نیز وجود دارد که به‌زودی به این موضوع نیز می‌پردازیم. پس تا اینجای کار یاد گرفتیم که چگونه مقادیر مختلف را بنا به نیاز در متغیرها قرار دهیم.

چاپ متغیرها

حال که آموختیم چگونه می‌توان موارد مختلف را در مرورگر به عنوان خروجی چاپ کرد، بهتر است به سراغ چاپ متغیرها برویم. برای چاپ متغیرها و نشان دادن داده‌ای که هر متغیر در خود دارد می‌توانید از دستور echo استفاده کنید. فایل vars.php را باز کرده و تمام کدهای نوشته شده در آن را پاک کرده و کد زیر را در آن تایپ و سپس ذخیره کنید.

<?php

// این یک توضیح است. خط زیر یک متغیر رشته ای است

$var = “ebarate mojud dar motaqayere aval”;

// خط زیر یک متغیر عددی است

$newVar = 123;

// خط زیر یک متغیر از نوع صحیح یا غلط است

$anotherVar = true;

echo $var;

// خط زیر کد اچ تی ام الی است که باعث رفتن به خط جدید در مرورگر می شود

echo “<br>”;

// کد زیر مقدار متغیر را در مرورگر نمایش می‌دهد

echo $newVar;

echo “<br>”;

echo $anotherVar;

?>

سپس مرورگرتان را باز کرده و به آدرس http://127.0.0.1/section2/vars.php بروید. خروجی شما باید مانند تصویر زیر باشد:

e186331b-c49b-4e65-a0a5-0ac5bfa5110dهمان‌طور که می‌بینید هرچه آنچه که متغیرها در خود نگه داشته‌اند را توسط دستور echo در مرورگر چاپ کردیم. همچنین توضیحات را در کد بالا به کار بردیم ولی این توضیحات برای خودمان هستند و نه تاثیری در خروجی کد داشته و نه برای کاربر قابل مشاهده‌اند. دقت کنید که می‌توان متغیرها را به همراه متون ثابت نیز به‌کار برد. در این شرایط باید حتما از دابل‌کوتیشین استفاده کنید یعنی متغیرها را در داخل دابل‌کوتیشن به‌کار ببرید. در صورتی‌که از تک‌کوتیشین استفاده کنید، همان‌طور که گفتیم به جای مقدار متغیر، نام خود متغیر در خروجی نمایش خواهد یافت. فایل vars.php را گشوده و آن را به صورت زیر اصلاح کنید:

<?php

// این یک توضیح است. خط زیر یک متغیر رشته ای است

$var = “ebarate mojud dar motaqayere aval”;

// خط زیر یک متغیر عددی است

$newVar = 123;

// خط زیر یک متغیر از نوع صحیح یا غلط است

$anotherVar = true;

// کد زیر باعث چاپ متن و متغیر در کنار یکدیگر در مروگر خواهد شد

echo “meqdare motaqayere aval in ast: $var”;

echo “<br>”;

echo “meqdate motaqayere dovom : $newVar va meqdare motaqayere sevom niz : $anotherVar ast”;

?>

خروجی کد بالا به صورت زیر خواهد بود:

۹۰d90e13-9c06-4313-8f28-cdc14dedc686همان‌طور که در تصویر بالا می‌بینید به جای نام هر متغیر، مقدار آن در مرورگر نمایش یافته است. بدین طریق یاد گرفتیم که چگونه متغیری را تعریف کرده و سپس در هرجا که نیاز داریم به مقدار آن دسترسی داشته باشیم. در جلسه بعد اعمال مختلف بر روی متغیرها را با یکدیگر خواهیم آموخت و نیز با عملگرهای php آشنا خواهیم شد.

منبع: زومیت

آموزش PHP – جلسه اول معرفی و ابزارهای مورد نیاز

طراحی و برنامهنویسی وب، امروزه در همه جای دنیا بسیار مورد توجه است. برای تولید صفحات وب می‌توان از زبان‌های مختلفی چون ASP.Net، پی‌اچ‌پی و … بهره گرفت. PHP به دلیل متن باز بودن و قدرت بسیار بالایی که دارد در بین توسعهدهندگان وب جایگاه بسیار خوبی دارد و تعداد زیادی از این توسعهدهندگان از php در پروژه‌های خود بهره می‌برند. در ادامه مطلب و جلسه اول آموزش PHP با ما همراه شوید.

ما در این سری آموزشی قصد داریم زبان برنامه‌نویسی پی‌اچ‌پی را از ابتدا به شما عزیزان آموزش دهیم. اما پیش‌نیاز این آموزش، آشنایی با HTML و CSS است.

معرفی مختصر PHP

آقای راسموس لردورف برای اولین بار در سال ۱۹۹۴ برای مدیریت صفحه وب شخصی خود زبان برنامهنویسی php را ایجاد کرد. او این زبان برنامهنویسی را به منظور ایجاد محتوای داینامیک از جمله نمایش تعداد آمار بازدید وب‌سایتش نوشت. همچنین بد نیست بدانید PHP در واقع سرنام عبارت Personal Home Page Tools به معنای ابزار صفحه شخصی خانگی است. اگر می‌خواهید تاریخچه کامل این زبان برنامه‌نویسی را مطالعه کنید می‌توانید به این لینک مراجعه کنید.

پیش‌ از توسعه زبان‌هایی مانند php اکثر صفحات وب در آن زمان به صورت ایستا بودند و برای اعمال تغییرات در این صفحات نیاز به ویرایش دستی تک تک آن‌ها بود که این امری بسیار طاقت‌فرسا و سخت به حساب می‌آمد. از این‌رو  php همان‌طور که اشاره کردیم به منظور ایجاد وب‌سایت‌هایی پویاتر که قابلیت تعامل بیشتری با کاربر را دارند، توسعه یافت.

شروع کار و ابزارهای مورد نیاز

از آنجا که پی‌اچ‌پی یک زبان سمت سرور است پس قبل از هر چیز باید رایانه شخصی‌تان را به یک سرور محلی تبدیل کنید تا بتوانید اسکریپت‌های نوشته شده به این زبان را در رایانه خود اجرا و تست کنید. برای انجام این کار نیاز به طی کردن فرآیند  سخت و پیچیده‌ای نخواهید داشت. نرم‌افزارهای مختلفی برای ایجاد یک سرور محلی بر روی رایانه وجود دارند و ما می‌خواهیم از Xampp استفاده کنیم. مراحل زیر را به ترتیب و با دقت انجام دهید:

ابتدا به وب‌سایت رسمی زمپ رفته و با توجه به نوع سیستم‌عامل‌تان، جدیدترین نسخه را دانلود کنید. در زمان نوشتن این مطلب جدیدترین نسخه ۵/۶/۱۹ است.

۸۵۷۴۲۱۴۸-۱۳df-42dc-a07b-ed664007bcbbپس از دانلود Xampp آن را نصب کنید. مراحل نصب را همانند سایر نرم‌افزارهای معمول انجام دهید و هیچ بخشی از آن را تغییر ندهید و اجازه دهید نرم‌افزار با تنظیمات پیش‌فرض بر روی سیستم شما نصب شود.

سپس نرم‌افزار را اجرا کنید و مطابق شکل زیر سرور Apache و MySQL را در حالت اجرا قرار دهید. برای این کار بر روی دکمه Start جلوی این گزینه‌ها کلیک کنید.

۶۴d9c1d3-3c5e-4cbe-9a87-ede5d36aa9ecبه همین راحتی شما رایانه خود را به یک سرور محلی تبدیل کردید که می‌تواند اسکریپت‌های نوشته شده به زبان php را به‌راحتی اجرا کند. علاوه بر این امکان استفاده از بانک اطلاعاتی MySql نیز با Xampp برای شما فراهم است که البته فعلا به این بخش کاری نداریم.

حالا مرورگر خود را باز کرده و آدرس زیر را تایپ کنید:

http://127.0.0.1/

اگر همه چیز را درست انجام داده باشید صفحه مرورگر شما به شکل زیر خواهد بود.

۳ebbd91f-d435-4140-a3de-920e2962466eایجاد اولین پروژه

تا اینجا شما دستگاه‌ خود را برای کار با پی‌اچ‌پی آماده کرده‌اید ولی نیاز به یک ویرایشگر متنی خوب نیز دارید. توسعه‌دهندگان همیشه بنا به سلیقه خود از نرم‌افزارهای ویرایشگر متن مخصوص کدنویسی یکی را انتخاب می‌کنند. برای شروع حتی می‌توان از نوت پد ویندوز بهره گرفت اما پیشنهاد ما استفاده از جدیدترین نسخه نرم‌‌افزار ++NotePad است. برای نصب این ویرایشگر نیز ابتدا به وب‌سایت رسمی نوت‌پد++ رفته و جدیدترین نسخه را دانلود و در سیستم خود نصب کنید.

پس از نصب ++NotePad آن را باز کنید و از منوی Language مطابق شکل زیر PHP را انتخاب کنید تا نرمافزار برای نوشتن کدهای پی‌اچ‌پی آماده شود.

۰۴eb5f29-b920-40c0-94ae-30283ce7ca4eمستقیما و بلافاصله می‌خواهیم به سراغ‌ آموزش برویم. اولین نکته مهم این است که باید بدانید فایل‌های نوشته شده به این زبان را چگونه و در کجا باید ذخیره کنید.

تمامی فایل‌های نوشته شده به زبان پی‌اچ‌پی باید در مسیر زیر ذخیره شوند. دقت کنید آدرس روت یا همان ریشه سرور محلی شما که با آدرس http://127.0.0.1 در دسترس است، فایل‌های موجود در مسیر C:/xampp/htdocs را اجرا می‌کند. بنابراین ریشه سرور شما در رایانه‌تان پوشه htdocs است که خود این پوشه در زیر پوشه‌ی Xampp قرار دارد.

دقت کنید اگر هنگام نصب Xampp مسیر نصب آن را تغییر داده باشید باید به جای C نام درایو مورد نظر را وارد کنید. پس تا اینجا متوجه شدید که پوشه روت سرور محلی شما در رایانه‌تان کجا قرار دارد. دقت کنید سایر پوشه‌هایی که زیرشاخه Xampp هستند را به هیچ وجه دستکاری نکنید تا در عملکرد این نرم‌افزار اشکال پیش نیاید.

بهتر است برای هر پروژه یک پوشه جداگانه در پوشه htdocs ایجاد کنید. بدین صورت دسترسی به پروژه‌ها و فایل‌های شما در مراجعات بعدی بسیار آسان‌تر خواهد بود. برای ایجاد اولین پروژه به مسیر C:/xampp/htdocs رفته و مانند تصویر زیر یک پوشه به نام hello ایجاد کنید. یعنی پوشه hello زیر شاخه پوشه htdocs است.

۳۲۰۳ee92-3a43-40d4-94e3-afd55aa1b4a5حالا نوت‌پد++ را باز کرده و عبارت زیر را در آن وارد کنید و سپس فایل را با نام test.php و در مسیر C:/Xampp/htdocs/hello که در مرحله قبل آن را ساختید ذخیره کنید.

<?php echo “Hello PHP tutorials From Zoomit!”; ?>

بدین ترتیب فایل شما با آدرس: http://127.0.0.1/hello/test.php از طریق مرورگر قابل اجرا خواهد بود. پس مرورگرتان را باز کرده و آدرس یاد شده را در آن وارد کنید. تصویر زیر خروجی کد نوشته شده به زبان پی‌اچ‌پی است و در واقع اولین اسکریپت نوشته شده شما به این زبان است.

دقت کنید در پایان هر دستور پی‌اچ‌پی باید علامت « ; » را قرار دهید. این علامت در پایان هر دستور نشان از پایان آن خط دارد و بسیار مهم است که آن را در آخر تمامی دستورات خود قرار دهید.

۵a24e33e-e517-4d17-8a64-491d0208c5e3اگر تصویر مروگر شما هم چیزی شبیه به عکس بالا را نشان می‌دهد به شما تبریک می‌گوییم چراکه توانسته‌اید اولین پروژه پی‌اچ‌پی خود را به درستی ایجاد و اجرا کنید.

قواعد کلی برنامه‌نویسی به زبان پی‌اچ‌پی

مهمترین نکته این است که فایل‌های نوشته شده به زبان پی‌اچ‌پی باید با پسوند php. ذخیره شوند. اگر به اولین کد نوشته شده به زبان php خود نگاهی بیاندازید متوجه می‌شوید که کدهای این زبان با برچسب php؟> شروع شده و با <? پایان می‌یابد. هر چه بین این دو برچسب یا همان تگ، قرار بگیرد، سرور آن‌ کدها را به عنوان کد php در نظر گرفته و پردازش می‌کند. اما شاید بپرسید موارد خارج از این دو برچسب چگونه اجرا خواهند شد؟ خب در پاسخ باید گفت هرچه که خارج از برچسب مخصوص پی‌اچ‌پی نوشته شده باشد، عینا در مرورگر دیده خواهد شد که می‌تواند متون ساده، کد اچ‌تی‌ام‌ال یا CSS هم باشد.

پس نتیجه می‌گیریم دو قاعده بسیار مهم در برنامه‌نویسی php اول، ذخیره فایل‌ها با پسوند php. و دوم قرار دادن کدهای این زبان در برچسب مخصوص آن است که با php?> شروع شده و با <? خاتمه می‌یابد.

تا اینجای کار شما گام اول را به‌طور کامل برای شروع برنامهنویسی پی‌اچ‌پی و ساخت صفحات وب با این زبان برداشته‌اید. در جلسات آینده با ما همراه باشید تا رسما شما را وارد دنیای برنامه‌نویسی PHP کرده و با یکدیگر رفته رفته بر این زبان تسلط بیابیم.

این سری آموزشی از ابتدا و از پایه شروع شده و با ساخت چند پروژه عملی به عنوان تمرین پایان خواهد یافت.

منبع: زومیت