آموزش php (برنامه نویسی تحت وب)

  • شروع کننده موضوع NOOB
  • تاریخ شروع
  • شروع کننده موضوع
  • #1

NOOB

کاربر فوق‌فعال
ارسال‌ها
93
امتیاز
21
نام مرکز سمپاد
راهنمایی شهید هاشمی نژاد 1 مشهد
شهر
مشهد
مدال المپیاد
المپیاد کشوری زبان ++C
انواع متغييرها در PHP

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

من در اينجا سه دسته مختلف از انواع متغيير ها را توضيح مي دهم.

1) اعداد (numbers)
2) رشته ها (String)
3) آرايه ها (arrays)

دسته اول شامل دو نوع متغيير است:

1)اعداد صحيح (integers)
2)اعداد اعشاري (floating - point) ( همچنين اعداد اعشاري با دقت مضاعف double)

اما از آنجايي که تفاوت چنداني در چگونگي به کار بردن اين دونوع متغيير وجود ندارد . اين دو را در يک دسته قرار مي دهيم.

PHP همچنين داراي يک نوع متغيير به نام شيء (object) مي باشد.

اعداد
نکته:اعداد به صورت اعشاري ( همراه با مميز ) و يا اعدا کسري از نوع متغييرهاي اعشاري محسوب مي شوند. براي مثال (1.0) در PHP يک عدد اعشاري به حساب مي آيد. توجه کنيد که در PHP اعداد به صورت کسري ذخيره نمي شوند بلکه معادل اعشاري خود تبديل شده و سپس ذخيره مي شوند.

مثالهايي از اعداد صحيح معتبر:

آ 1آ و 1972آ و 1-

مثالهاي از اعداد اعشاري :

1.0آ و 19.72 و 1.0-

همچنين مثالهاي که در دسته اعداد قرار نمي گيرند:

4/11 a1972 آ 02.23.72
 
  • شروع کننده موضوع
  • #2

NOOB

کاربر فوق‌فعال
ارسال‌ها
93
امتیاز
21
نام مرکز سمپاد
راهنمایی شهید هاشمی نژاد 1 مشهد
شهر
مشهد
مدال المپیاد
المپیاد کشوری زبان ++C
پاسخ : آموزش php (برنامه نویسی تحت وب)

رشته ها
يک متغيير از نوع رشته اي (String) از ترکيب هر نوع کارکتري ( حروف - اعداد - علائم و جاي خالي ) مي تواند ساخته شود.اما اين کارکترها بايد در داخل يکي از علامتهاي Single(' ') Quotation و يا (" " ) Double Quotation قرار گيرند.

مثال:
HELLO , WORLD !""

"hello frist name ! "

"1 1/4"

"how are you?"

"02.23.72"

"1972"
نکته : اگر عدد نيز در داخل Quotation قرار گيرد يه عنوان يک داده رشته اي در نظر گرفته مي شود.

مثالهاي از داده هاي رشته اي غير مجاز:

hello world!

how are you" " "I Said," "

توجه!!!

شايد اين سئوال در ذهن شما به وجود بياد که چطوري مي تونيم يک علامت " را به مرور گر ارسال کنيم؟

ما مي تونيم اين مشکل رو در PHP به اين صورت رفع کنيم که قبل از علامت quitation از علامت () استفاده کنيم!!!

پس وقتي ما در دستور print() اين عبارت (I Said, "How are You?" "") رو تايپ کنيم خروجي اين دستور به صورت ( I Said, "How are You?" ) خواهيد ديد.

بنابراين هر چند که گفته شد در داده رشته اي هر ترکيبي از کاراکترها به کار مي رود. بايد توجه داشته باشيد که در مورد کاراکترهاي ويژه بايد دقت خاصي اعمال شود. کاراکترهاي ويژه ديگري نيز وجود دارند که هنگام استفاده از آنها در يک داده رشته اي بايد علامت backslash () قبل از آنها قرار دهيم.

اين کاراکتر ها عبارت است از:

single quotation ( ' )

apostrophe

backslash

و علامت dollar

نکات:
-مزيت استفاده از double quotes به جاي single quotes در اين است که در حالت دوم اگر متغييري داخل داده رشته اي خود به کار ببريد نام متغيير به عنوان جزئي از داده در نظر گرفته مي شود و نه مقدار آن متغيير جايگزين نام آن نمي شود.

- در درسهاي قبلي اشاره شد که در ترکيب براي مثال در تابع print() باعث ايجاد خط جديد مي شود. بنابراين مشاهده مي کنيد که در اين حالت خاص علامت backslash باعث در نظر گرفتن n به صورت يک کاراکتر معمولي نشد.از موارد خاص ديگر مي توان به ترکيب ( بازگشت خطي ( carriage return)) و ( براي قرار دادن يک tab) اشاره کرد.

آرايه ها:
از آنجايي که آرايه ها کمي پيچيده تر از داده هاي عددي و رشته اي به حساب مي آيند.در اين قسمت تنها مختصري در مورد آنها توضيح داده مي شود و در درسهاي آينده با کاربرد هاي آن بيشتر آشنا خواهيد شد.

بر خلاف داده هاي عددي و رشته اي که تنها مي توانند داراي يک ارزش و يا مقدار باشند. آرايه ها مي توانند حاوي ليستي از مقادير باشند.بنابراين شما مي توانيد مقادير مختلف عددي و يا رشته اي را داخل يک آرايه قرار دهيد. همچنين آرايه ها خود مي توانند شامل ليستي از آرايه ها باشند.

نکته:
- آرايه هاي استاندارد در PHP از مقادير دادهاي و يا عددي تشکيل مي شوند ( اين آرايه ها به آرايه هاي شماره گذاري شده ( indexed ) و يا برداري ( vector ) نيز معروف هستند.)

و اين همانآ نامي است که Perl به اين دسته از آرايه ها نسبت مي دهد. در Perl آرايه هايي که خود از آرايه هايي که خود از آرايه تشکيل شده باشد. به نامهاي آرايه هاي hash و associative و multi_dimensional شناخته مي شوند. در PHP به هر دو دسته ( يک يا چند بعدي ) لفظ آ« آرايه آ» اطلاق مي شود.

نسبت دادن مقادير به متغييرها
در PHP شما به اعلان ( declare ) متغييرها احتياج نداريد. همچنين نوع يک متغيير در هنگام عمل انتساب مشخص مي شود.

در PHP براي نسبت دادن يک مقدار به يک متغيير و ذخيره آن مقدار از علامت مساوي ( = ) استفاده مي کنيد.در اين هنگام اين علامت با نام عملگر انتساب ( assignment Operater ) خوانده مي شود.

مثال:

$number = 1;

$floating-number = 1.2;

$string = "Hello,World!";

نکته:در PHP نيز همانند Java Script نوع متغيير در طول برنامه مي تواند تغيير کند.

و ....
 
  • شروع کننده موضوع
  • #3

NOOB

کاربر فوق‌فعال
ارسال‌ها
93
امتیاز
21
نام مرکز سمپاد
راهنمایی شهید هاشمی نژاد 1 مشهد
شهر
مشهد
مدال المپیاد
المپیاد کشوری زبان ++C
پاسخ : آموزش php (برنامه نویسی تحت وب)

متغييرهاي از پيش تعريف شده
متغييرهاي از پيش تعريف شده ( Predefined Variables ) انواع خاصي از متغيير ها هستند که در يکي از برنامه ها به کار گرفته مي شوند:

برنامه هاي کاربردي سرويس دهنده وب ( web server applivations (مانند Apache )

سيستم عاملهاي سرويس دهنده وب ( web server operationg system ( مانند windows nt و يا Solaris)

و يا در خود مدل PHP .

در دو دسته اول اين متغيير ها به متغييرهاي محيطي ( variables enviromental ) معروفند .

متغييرهاي از پيش تعريف شده در سرويس دهنده هاي مختلف ممکن است داراي تفاوتهايي باشند . بنابراين براي مشاهده اين متغييرها بهتر است از تابع phpinfo() که در درسهاي قبلي توضيح داده ام استفاده کنيد.

دو دليل براي آشنايي شما با مفهوم متغييرهاي از پيش تعريف شده وجود دارد.

دليل اول اينست که اين متغييرها در برنامه نويسي شما کاربرد خواهند داشت و دليل ديگر آنکه با شناخت اين متغييرها شما ديگر به صورت تصادفي نام يک متغيير را هم نام با اين متغييرها انتخاب نمي کنيد.

نمونه هايي از متغييرهاي محيطي سرويس دهنده عبارتند از: Hostname ( نامي که سرويس دهنده به خود نسبت داده است) و Ostype ( سيستم عاملي که بر روي سرويس دهنده در حال اجراء مي باشد.)

نمونه هاي از متغيير هاي محيطي Apache عبارتند از: Document_Root ( مکان ذخيره فايل ها بر روي سرويس دهنده) و HTTP_USER_AGENT ( جزئياتي در مورد مرورگر و Platfrom کاربر را ارائه مي دهد).

متغيير PHP-SELF پر کاربردترين متغيير PHP مي باشد که نام صفحه جاري را در خود ذخيره کرده است .

نکته:اگر شما متغييرهاي خود را هم نام با متغييرهاي محيطي سيستم نامگذاري کنيد. نتايجي عجيب و منحصر به فردي حاصل مي شوند. هر چند احتمال انجام اين کار اندک مي باشد. با اين وجود بهتر است لستي از متغيير هاي محيطي سيستم را در هنگام نامگذاري متغييرها در برابر خود داشته باشيد.
 

Mehdi.E

کاربر فوق‌فعال
ارسال‌ها
80
امتیاز
1
نام مرکز سمپاد
دیوونه خونه ی حلی 3
شهر
Tehran
مدال المپیاد
به زور تو المپیاد ریاضی شرکتم دادن. مرحله اول قبول شدم. مرحله دوم... ام...;D
دانشگاه
به وقتش میگم.
رشته دانشگاه
هنوز معلوم نیست! انتخابا خیلی متنوعه!!!! ;D
پاسخ : آموزش php (برنامه نویسی تحت وب)

میشه یکی بگه چجوری باید بین php و mysql ارتباط برقرار کنیم؟؟من وقتی کداشو می زنم بعد از قسمتی که می خوام اطلاعاتو از database بخونم دیگه کدام کار نمی کنه. تو صفحه ی htmlم دقیقا کدا رو می نویسه!!!!
 

topaz

کاربر جدید
ارسال‌ها
1
امتیاز
2
نام مرکز سمپاد
Tehran
مدال المپیاد
adams bad kardan
پاسخ : آموزش php (برنامه نویسی تحت وب)

تا حالا براتون سوال پیش اومده این همه سایت های رنگارنگ با این همه قابلیت های متفاوت چطوری درست می شن؟
خیلی از شماها جواب میدید آره با html که جواب کاملا درستیه! حتی خیلی از شما با html وبسایت شخصی خودتون رو ساختید ولی هر چی سعی کردید نتونستید برای سایتتون یه Search یا صفحه ی Login بسازید.
خوب این آموزش مربوط به افرادیه که html رو تا حدودی بلد هستند و البته php بلد نیستند.
اول از همه باید ببینیم این php اصلا چی هست؟
php یه زبان برنامه نویسی server-side هست که قابلیت ساختن صفحات پویا رو داره.

Question level 2 server-side یعنه چی؟
Answer " سوال خوبیه! ببین مثلا html رو در نظر بگیر، وقتی یه صفحه ی html رو باز می کنی browser کد html رو می خونه و تبدیلش می کنه به اون چیزی که تو توی صفحه ی browser می بینی! پس html یه زبان client-side هست چون کل کد رو browser تبدیل به صفحه ی نهایی کرد.
اما توی php یه مقدار فرق می کنه. این تیکرو با مثال توضیح میدم. سایت سیاوش . کام با php نوشته شده، خوب حالا شما وقتی وارد www.syavash.com می شید چه اتفاقاتی میفته؟ اول مرورگر (browser) شما یه درخواست میفرسته که من فایل index.php رو می خوام! تا اینجا شبیه وقتیه که یه سایت ساخته شده با html رو باز می کنید، اما از اینجا به بعدش فرق داره. بعد سروری که www.syavash.com روش هست می بینه این فایلی که درخواست شده یه فایل php هست پس اول اون رو میفرسته برای کمپایلر php و کمپایلر php اون رو طبق کد توش اجرا میکنه و در نهایت یه صفحه ی html می سازه و اون صفحرو برای کاربر میفرسته و مرور گر شما صفحه ی html ساخته شدرو نشونتون میده! "
Question level 1 گفتید اگه صفحه html بود فرق میکرد. اون موقع چجوری می شد؟
Answer " اگر صفحه html بود بعد از اینکه مرورگر شما اون صفحرو درخواست میکرد سرور بلا فاصله کد اون صفحرو برای مرورگر میفرستاد و اون صفحرو شما می دیدید! "
Question level 3 پس یعنی اگه من بخوام کد php سایت syavash.com رو ببینم نمی تونم چون اصلا اون فایل برای مرورگر من فرستاده نمیشه، درسته؟
Answer " آفرین! کاملا درسته!!! یکی از خوبی های زبان های server-side اینه که کد اصلی اون صفحرو نمی تونه کسی ببینه! "
Question level 2 اما من تو صفحه ی syavash.com وقتی راست کلیک می کنم و View page source رو میزنم بهم کد اون صفحرو نشون میده که!
Answer " همونطوری که گفتم اون کد، کد php نیست و کد تولید شده ی htmlای هست که توسط سرور از اون فایل php تولید شده! "
Question level 3 خوب حالا که server-side رو گفتید چیه، میشه صفحات پویا رو هم بگید؟
Answer " ببینید وقتی شما یه صفحه ی html می سازید هر دفعه که اون رو باز کنید عین دفعه ی قبله و هیچی توش تغییر نمیکنه! اما مثلا وقتی میرید توی صفحه ی bbc هر دقیقه صفحه ی اول تغییر می کنه! یا مثلا بعضی سایت ها رو وقتی توش لاگین می کنید با وقتی توش لاگین نیستید فرق می کنن، یا مثلا وقتی توی یه سایت سرچ می کنید نسبت به هر سرچ یه صفحه ی مجزا برای شما میاره! خوب این کار هارو با html نمیشه انجام داد. یه خوبی اساسی زبان های server-side اینه که می تونن به بانک اطلاعاتی وصل شن که بعدا بیشتر دربارش حرف می زنیم. "
Question level 2 ببخشی حالا اگر بخوایم به جای صفحات پویا صفحات حسین بسازیم باید چیکار کنیم؟
Answer " ... "

بجز php خیلی زبان های server-side دیگه ای هم وجود داره مثل JSP، ColdFusion، Ruby on Rails یا ASP اما ما توی این آموزش فقط به php میپردازیم! شاید براتون جالب باشه که بیش از 40% از 5000 سایت برتر توی اینترنت از php استفاده می کنن!
تا یادم نرفته این رو هم بگم که PHP در ابتدا مخفف عبارت Personal Homepage بوده اما بعد از ورژن 3 از اون به عنوان مخفف برگشتی PHP: Hypertext Preprocessor یاد شده!

Question level 1 مخفف برگشتی دیگه یعنی چی؟
Answer " مخفف برگشتی یعنی خود مخفف توی عبارتی که مخففش هست بیاد! "

نصب php
خوب حالا که این همه گفتیم php اول روی سرور باید اجرا بشه و از این جور چیزا خوب پس اگه سرور نداشته باشیم باید چیکار کنیم؟ یا اگه بخوایم طراحی وبسایتمون رو توی کامپیوتر خودمون انجام بدیم؟
برای اینکه بتونیم روی کامپیوتر خودمون صفحات php رو باز کنیم باید چند تا برنامرو روی کامپیوترون داشته باشیم:

Apache webserver
PHP
mySql

اول از همه باید یه وب سرور داشته باشیم که هر چیزی می تونه باشه اما بهترینش برای php آپاچی هست!
mySql رو حتما برای اجرای php نباید داشته باشیم اما اگر بخوایم به بانک اطلاعاتی وصل شیم باید حتما نصبش کنیم. البته به جای mySql از سیستم های بانک اطلاعاتی دیگه هم میشه استفاده کرد اما بازم سازگار ترینش با php همین mySql هست.
برای اینکه این هارو نصب کنیم یه راهش اینه که جدا جدا پکیج هارو از اینترنت بگیریم و اونا رو طبق دستورالعمل نصب کنیم. اما راه آسونتر که من برای ابتدا پیشنهاد می کنم اینه که برید و پکیج phpdev رو که شامل هر سه پکیج بالا و چند پکیج دیگه هست رو دانلود و نصب کنید.
یادتون باشه که این پکیج رو باید حتما توی C:\phpdev نصبش کنید.
برای دوستانی که از لینوکس استفاده می کنن باید بگم که تو اکثر ورژن های لینوکس آپاچی و php بصورت پیش فرض نصب هستن و اگر هم نباشن از Application Manager میتونید اونو نصب کنید یا می تونید توی شل بویسید:

yum install php4

من از اینجا به بعد فرض رو بر این می گیرم که شما phpdev رو نصب کردید. خوب حالا توی مرورگری که استفاده می کنید (که انشاالله FireFox هست) آدرس http://localhost/ رو وارد کنید!
اگر دیدید بالا نمیاد این صفحه از My Computer برید توی C:\phpdev\ و اونجا فایل 2K-NT-XP-phpdev_start.bat رو در صورتی که ونیدوزتون XP یا Vista هست یا فایل 98-ME-phpdev_start.bat رو در صورتی که ویندوزتون 98 یا ME هست اجرا کنید! یه سری صفحه باز و بسته میشن و در نهایت احتمالا یه صفحه با تیتر Apache باز می مونه که اون رو نباید ببندید! هر دفعه که دیدید صفحه ی http://localhost/ باز نمیشه کافیه همین کار رو تکرار کنید!
خوب پس الآن باید صفحه ی http://localhost جلوتون باشه که لیست یه مشت فولدر و فایل رو نشون میده. حالا این فایل ها و فولدر هایی که اینجا لیستش هست توی کدوم فولدر قرار دارن؟
کافیه از My Computer به آدرس c:\phpdev\www\ برید. می بینید که اون لیستی که توی http://localhost/ می بینید کاملا با فایل ها و فولدر های توی این آدرس مطابقن.
حالا می خوایم اولین صفحه ی php رو طراحی کنیم. برای اینکار می تونید از هر ویرایشگری که دوست دارید استفاده کنید. برای شروع از notepad استفاده می کنیم. برای اینکار کافیه توی c:\phpdev\www\ یه فایل با پسوند php بسازید. مثلا Hello.php .

Question level 1 ببخشید میشه توضیح بدید چطوری این فایل رو بسازم؟
Answer " البته! راه برای این کار زیاده اما آسونترین راهی که به ذهنم می رسه اینه که اول notepad رو باز کنی (توی استارت برو Run و اونجا تایپ کن notepad و انتر رو بزن) بعد File رو انتخاب کن و بعد Save as بعد برو توی آدرس c:\phpdev\www\ و Save as type رو All Files انتخاب کن. بعد جلوی File Name بنویس Hello.php و Save رو بزن!
به همین سادگی یه فایل خالی با پسوند php ساختی. فقط حواست باشه که Save as type رو All Files انتخاب کنی وگرنه یه اسم فایلت میشه Hello.php.txt که چیزی که ما می خوایم نیست. "

حالا اگر توی مرورگرت صفحه ی http://localhost/ رو refresh کنی باید فایل جدیدی که ساختی رو اونجا هم ببینی. اگر روی اون کلیک کنی یه صفحه ی خالی می بینی چون هنوز کدی برای اون فایل ننوشتی خوب!
ساخت اولین برنامه ی php
الان می خوایم اولین کد phpمون رو بنویسیم! برای اینکار اگر notepad رو بستین دوباره برید c:\phpdev\www\ و روی فایل Hello.php کلیک راست کنید و Open With رو بزنید و توی Choose Program... برنامه ی Notepad رو انتخاب کنید. می تونید تیک Always use the selected program to open this kind of file رو بزنید تا از دفعه ی دیگه با دابل کلیک کردن روی فایل های php ویندوز اونارو بصورت اتومات تو Notepad باز کنه. بعد از اینکه فایل Hello.php رو توی Notepad باز کردید توش کد زیر رو بنویسید و اون رو Save کنید:

<?php
echo "Salaaaaam!";
?>

حالا اگر توی مرورگرتون صفحه ی http://localhost/Hello.php رو refresh کنید میبینید که توی صفحه نوشته Salaaaaaam!.
خوب بهتون تبریک می گم شما همین الان اولین کد phpتون رو با موفقیت نوشتید!
از اینجا به بعد من همیشه اول کد php رو بصورت کامل می نویسم و بعد خط به خط اون رو توضیح میدم. فکر کنم اینطوری بهتر باشه.
و اما توضیح این سه خط:
ما هر کد php رو با <?php یا <? شروع می کنیم و با ?> تمومش می کنیم. با این کار به کمپایلر php میگیم که این قسمت ها php هستن و باید کمپایل بشن. هر چیزی توی فایل php خارج از این ها باشه به عنوان html محسوب میشه یعنی به وسیله ی کمپایلر کمپایل نمیشه.
خط دوم دستور echo هست. فکر کنم الان همتون می دونید چیکار میکنه. این دستور نقش خروجی php رو داره. یعنی هر چی جلوی echo قرار بدید بعد از کمپایل شدن توی فایل خروجی قرار می گیره (اون فایل htmlی که درست میشه).
حالا چرا بین دو تا " قرار داره؟ توی php مثل خیلی زبان های برنامه نویسی دیگه رشته ها یا String (همون متن یا مجموعه ای از کاراکتر ها) رو بین دو تا " قرار میدیم! بعدا در این رابطه بیشتر حرف می زنیم.
حالا یه مثال دیگه:

<?php
echo "Salam <b>Siavash</b>
<i>Chetori?</i>";
?>

به نظر شما این کد چیکار می کنه?
بله درسته! این کد دقیقا چیزی که جلوی echo هست رو توی مرورگر نشون میده. یعنی:

Salam Siavash
Chetori?

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

<?php
$name = "Siavash";
echo $name;
?>

توی این مثال طریقه ی پر کردن و صدا زدن یه متغیر نشون داده شده. خوب حالا خط به خط توضیح میدم:
خط اول و آخر رو که تو مثال های قبل فهمیدیم چیه. توی خط دوم ما اومدیم و رشته ی Siavash رو توی متغیری به نام name ریختیم. با این کار کامپیوتر یه فضایی رو توی رم به این متغیر اختصاص میده و مقداری که داخل متغیر ریختیم رو داخل اون فضا ذخیره می کنه و مشخص می کنه اسم name مربوط به این فضاست. از این به بعد هر وقت متغیر name رو صدا بزنیم کامپیوتر میره و مقداری که توی اون فضا برای این اسم ذخیره شدرو بجای متغیر قرار میده.
یه نکته ای رو باید توجه داشته باشیم و اونم اینه که متغیر ها توی php همیشه با $ شروع میشن! مثلا اینجا ما $name استفاده کردیم. می تونست بجای $name هر چیز دیگه هم باشه اما بهتره اسم رو مربوط به مقداری که توش می ریزیم انتخاب کنیم.
نام متغیر حتما باید با حرف یا _ شروع بشه در ادامه می تونه شامل حروف، اعداد و _ باشه. و اینم باید مد نظر داشته باشیم که اسم متغیر توی php نسبت به بزرگ و کوچک بودن حروف حساسه! یعنی $Name و $name دو تا متغیر مختلف هستند. پس حواستون باشه.
خوب میریم سراغ خط سوم. توی خط سوم از دستور echo استفاده کردیم پس هر چی جلوی اونه باید به عنوان خروجی چاپ شه. حالا چی جلوشه؟ متغیر $name! پس کامپیوتر میره به قسمتی از حافظه که مقدار متغیر $name توشه سر میزنه و می بینیه Siavash اونجا ذخیره شده! پس Siavash رو چاپ می کنه.

Question level 1 ببخشید مگه Siavash یه رشته نیست، پس چرا دور $name دو تا " نگذاشتیم؟
Answer " البته اگر میگذاشتیم توی php کار می کرد. اما در کل $name یه متغیره و خودش یه رشته نیست و برای صدا زدن متغیر نیاز به " نداریم اما اگه دقت کنید موقعی که Siavash رو توی $name ریختیم دور اون " گذاشتیم چون Siavash یه رشته بوده. "

خوب حالا یه مثال ساده ی دیگه!

<?php
$firstname = "Siavash";
$surname = "Mahmoudian";
echo $firstname . $surname;
?>

توی این مثال اول دو متغیر $firstname و $surname رو مقدار دهی کردیم بعد توی خط چهارم از یه چیز جدید استفاده کردیم! نقطه. کار نقطه چسبوندن دو تا رشته به هم هست! مثلا توی این مثال مقدار داخل دو متغیر $firstname و $surname رو که هر دوشون رشته هستند به هم می چسبونه و در نهایت SiavashMahmoudian رو به عنوان خروجی چاپ می کنه! اما ما می خواستیم بین اسم و فامیل فاصله بیفته! باید چیکار کنیم؟

<?php
$firstname = "Siavash";
$surname = "Mahmoudian";
echo $firstname . " " . $surname;
?>

کافیه رشته ی فاصلرو بین اسم و فامیل اضافه کنیم! شاید زیاد معنی دار به نظرتون نیاد در ابتدا اما ما کار خاصی نکردیم. فقط این دفعه سه تا رشترو به هم چسبوندیم که دومیش فقط یه space توشه. مثلا می تونست $firstname . " Salam " . $surname باشه. که اونطوری خروجی می شد Siavash Salam Mahmoudian! حالا ما سلامش رو حذف کردیم و فقط space مونده!
تقریبا توی تمام زبان های برنامه نویسی متغیر ها وجود دارن و اتفاقا توی خیلیاشون شبیه php تعریف می شن، تنها فرقش اینه که جنس متغیر رو توی php خودش تشخیص میده و نیازی نیست بگیم یه متغیر جنسش عدد هست یا رشته یا یه کاراکتر!
متغیر از جنس عدد
مثال برای تعریف یه متغیر عدد توی php:

<?php
$age = 19;
echo $age;
// Output: 19
?>

اینجا ما یه متغیر از جنس integer یا عدد تعریف کردیم. و بعد هم با دستور echo اون رو چاپ کردیم! اینجا دو تا نکته ی جدید وجود داره:
یکی اینکه ما دور عدد 19 علامت " نگذاشتیم که دلیلش اینه که ما نمی خواستیم رشته ی 19 رو توی age قرار بدیم بلکه می خواستیم 19 رو به عنوان یک عدد داخل $age بریزیم. اگر به جای 19 از "19" استفاده می کردیم 19 رو به عنوان رشته توی $age ریخته بودیم. فرقش چی بود؟ عملیات جمع و تفریق و کلا عملیات ریاضی روی رشته ها تعریف شده نیست و فقط روی اعداد می شه از اون ها استفاده کرد! البته توی php هر جا نیاز باشه و بتونه عدد رو به رشته و یا رشته رو به عدد تبدیل می کنه اما بهتره این نکات رو رعایت کنیم که بعد خواستیم زبان های دیگرو یاد بگیریم گیج نشیم.
نکته ی جدید دیگه خط 4 هست که اول خط // گذاشتیم و بعد یه متن نوشتیم. توی php هر چیزی بعد از // نوشته بشه Comment محسوب میشه یعنی کمپایلر php اون خط ها رو اصلا نمی بینه و در ابتدای کمپایل حذفشون می کنه! حالا فایدش چیه؟ بعضی اوقات ممکنه یه نکته ای درباره ی کدتون بعد از یه خط اضافه کنید که بعدا خودتون خواستید ادامه ی اون خط رو بنویسید یا کس دیگری خواست اون رو بخونه گیج نشه! یا شاید بخواین یه متنی رو برای خودتون اضافه کنید. این خط ها رو همیشه قبلشون // میگذارن. همونطور که می بینید ما هم توی خط چهارم یه کامنت گذاشتیم و خاطر نشان کردیم که خروجی این خط 19 میشه.
اکثر زبان های برنامه نویسی شبیه هم هستن و اگه شما یه زبان برنامه نویسی رو کامل یاد بگیرید بقیه ی زبان هارو خیلی راحت با دیدن چند تا مثال می تونید یاد بگیرید. مثلا همین مثال پر کردن یه متغیر از یک عدد توی زبان های مختلف به شکل زیر میشه:
PHP

<?php
$age = 100;
?>


C++

void main()
{
int age;
age = 100;
}


Pascal

var
age : integer;
begin
age := 100;
end.


Visual Basic

Dim age as Integer
Private Sub Form_Load()
age = 100
End Sub

Java

public class example {
public static void main(String args[]) {
int age;
age = 100;
}
}

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

<?php
$i = 1;
$j = 2;
$k = $i + $j;
//$k: 3
$k = $k + $i;
//$k: 4
$k += $i;
//$k: 5
?>

توی این مثال ما اول به دو متغیر $i و $j مقدار های 1 و 2 رو دادیم. تا اینجاش که عین قبل بوده. بعد توی خط 4 به متغیر $k مقدار $i + $j رو دادیم. یعنی کامپیوتر میره و میبینه توی رم به $i و $j چه مقداری داده شده بود و بعد جمع اون دو تارو توی $k میریزه که میشه 3. خط بعد برای خودمون کامنت گذاشتیم که تا اینجا مقدار $k، 3 شده. خط 6 هم دقیقا مثل خط 4 هست با این تفاوت که خود $k هم سمت چپ هست هم راست. افرادی که تازه برنامه نویسی رو شروع می کنن یکم اینجا گیج میشن اما گیج شدن نداره. کافیه از سمت راست شروع کنید و مقادیر رو قرار بدین و نتیجش رو سمت چپ بریزید. مثلا اینجا اول مقدار $k رو می بینیم که 3 هست و بعد مقدار $i که 1 هست و جمع این دو تا رو توی $k که سمت چپه می ریزیم پس $k مقدار 4 رو می گیره. توی خط 8 ما از اپراتور += استفاده کردیم. += یعنی مقدار سمت راست رو به مقدار سمت چپ اصافه کن. یعنی توی این مثال خط 6 و 8 یک کار رو انجام میدن و مقدار $i رو به $k اضافه می کنن!
بجز عملگر + توی php می تونیم از -، *، /، ^ هم استفاده کنیم که به ترتیب تفریق، ضرب، تقسیم و توان هستند. پس عملگر های -= و *= و /= و ^= هم به همون ترتیب تعریف می شن!
به جز این عملگر ها ما خیلی عملگر های دیگری داریم که بعدا باهاشون آشنا می شیم.
ما قبلا یه مثال برای عملگر . زدیم و گفتیم این عملگر دو تا رشترو به هم می چسبونه. حالا بد نیست یه مثال دیگه از اون رو ببینیم:

<?php
$i = 3;
$j = 5;
$k = $i + $j;
//$k: 8
$str = $i . $j;
//$str: 35
?>

خوب تا خط چهارم که فکر کنم مشخص باشه. توی خط چهارم جمع دو متغیر $i و $j رو ریختیم توی $k که قبلا هم داشتیم و مقدار 8 بدست اومده. اما توی خط 6 از عملگر . استفاده کردیم! اگه یادتون باشه گفتیم . دو تا رشترو به هم متصل می کنه ولی اینجا ما دو تا عدد رو به اون دادیم. پس php میاد و ابتدا هر دو رو به رشته تبدیل می کنه یعنی "3" و "5" و بعد اون ها رو مثل دو تا رشته به هم می چسبونه پس در نهایت مقدار "35" رو توی $str میریزه!
تا اینجا تا حدودی فهمیدیم متغیر ها چی هستند. اما حالا به چه دردی می خورن؟ باهاشون چیکارا می شه کرد؟ همه ی اینارو جلوتر متوجه میشیم.

***تاپیک شما ادغام شد.***
 

کاربر حذف شده 8031

مهمان
پاسخ : آموزش php (برنامه نویسی تحت وب)

مطالب خوب بود ولی خو کپی پیسته و خلاف قوانین!
هر چند که خودم مخالف این قانونم چون که اگه این قانون باشه تقریبا این انمن رو هواست!
دیگه تکرار نشه! :-w
 

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : آموزش php (برنامه نویسی تحت وب)

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

KaSrA-m

کاربر جدید
ارسال‌ها
1
امتیاز
2
نام مرکز سمپاد
شهید بهشتی
شهر
زاهدان
پاسخ : آموزش php (برنامه نویسی تحت وب)

بابا این دیگه خیلی مسخرست ...

کجای دنیا کپی پست توی انجمن خلافه که اینجا باشه ....

باز برعکس همه ی انجمن ها اسپم ممنوعه که اینجا بازه ...

اینم تفکر سمپادی ماهاست !!!
 

ibtkm

کاربر خاک‌انجمن‌خورده
ارسال‌ها
1,678
امتیاز
3,394
نام مرکز سمپاد
علامه حلی
شهر
تهران
دانشگاه
دانشگاه تهران
پاسخ : آموزش php (برنامه نویسی تحت وب)

برای یادگیری <a href="http://www.w3schools.com"> w3school </a> ،php کفایت می‌کنه. بعدش مثلا برای کسب اطلاعات بیشتر درباره‌ی توابع کلاسی مانند مثلا string ، می‌تونید به <a href="http://php.net/manual/en"> manual </a>ش مراجعه کنید! توضیح داره و هم چنین مثال هم داره ! کلا هم دنیاتون تضمینه هم آخرتتون.
 

baseri

F@|-|!mEh
ارسال‌ها
2,821
امتیاز
6,851
نام مرکز سمپاد
فرزانگان 6
شهر
تهران
سال فارغ التحصیلی
1394
مدال المپیاد
نانو
دانشگاه
علوم پزشکی البرز
پاسخ : آموزش php (برنامه نویسی تحت وب)

میشه یکی بگه php اصلا چی هست؟؟؟ (:|
 

arminsl

کاربر حرفه‌ای
ارسال‌ها
335
امتیاز
1,297
نام مرکز سمپاد
شهید بهشتی
شهر
نیشابور
دانشگاه
دانشگاه تهران
رشته دانشگاه
بیوتکنولوژی
پاسخ : آموزش php (برنامه نویسی تحت وب)

به نقل از #..!!!...f@himeh...!!!..# :
میشه یکی بگه php اصلا چی هست؟؟؟ (:|

PHP یک زبان برنامه نویسی سمت سرور برای ساخت وب سایت های پویا و تقریبا محبوب ترین زبان در بین زبان های رده ی خودش مانند Perl, JSP, ColdFusion و ASP.NET هست.

HTML یک زبان برای نمایش اطلاعات هست و همه میتونن سورس یک فایل HTML رو مشاهده کنن.

ولی PHP به این خاطر که بر روی سرور قرار داره،اطلاعات ارسالی از HTML رو دریافت و پردازش میکنه و عملیاتشو انجام میده و در آخر یک خروجی HTML یا خروجی های دیگه برای مرورگر میفرسته.
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

سلام.
برای شروع حتما با اصول کلی برنامه نویسی کمی آشنا باشید چون هنگ میکنید! =))
آموزش PHP رو میخوایم شروع کنیم چون واقعا داشتم برنامه نویسی رو میدیدم دیدم که واقعا جای وب خالیه در حالی که همه چی داره میره سمت وب.
پیش نیاز یاد گرفتن PHP بلد بودن HTML است و اگه بخواید توی PHP بهتر هم باشید بهتره CSS و جاوا اسکریپت راغ بلد باشید ولی الزامی نمیباشد.
PHP چیست؟
زبان پی اچ پی یک زبان برنامه نویسی تحت وب برای تولید صفحات استاتیک وب میباشد که سمت سرور هست یعنی کد ها در سمت سرور پردازش شده و به صورت کد های HTML در سایت نمایش داده میشوند.
PHP در آن اول که ساخته شد مخفف : Personal Home Page بود اما پس از گسترش سریع و فراوان آن او مخفف عبارت زیر شد :
Php Hypertext Preprocessor
بالاترین ورژن این زبان که تا حالا آمده است : 5.5.8 میباشد. ;))
خسته نشدید که؟
خوب ما کد های PHP رو میان کد های HTML یا به صورت جدا مینویسیم. هر فایلی که در آن کد PHP باشد باید با فرمت php سیو شود که این فرمت کد های HTML و CSS را پشتیبانی میکند.
کد های PHP در تگ های به شکل زیر نوشته میشوند :
کد:
<html>
<head>
<title>php</title>
</head>
<body>
  <?php
    //code
  ?>
</body>
</html>
برای چاپ یک نوشته از دستور echo استفاده میکنیم :
کد:
<html>
<head>
<title>php</title>
</head>
<body>
  <?php
    echo "hello world";
  ?>
</body>
</html>
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

در PHP برای کانکتینیت کردن یا چسباندن از علامت دات (.) استفاده میشود مثل کد پایین.
بر خلاف بیشتر زبان های برنامه نویسی متغیر های PHP نوع ندارند ولی مقدار آنها میتونه از هر نوع باشه
در ضمن تمام متغیر ها در همه جا در زبان PHP باید اول نام آنها علامت $ باشد :
کد:
<html>
<head>
<title>php</title>
</head>
<body>
  <?php
    $var1=55;
    $var2="hello";
    $var3="salam";
    echo $var1.$var2;
    $var3.=$var2;
    echo $var3;
  ?>
</body>
</html>
خروجی برنامه : 55hellosalamhello​
برای جمع کردن یک متغیر با یک چیز دیگر ما مثل بیشتر زبان ها از :
به علاوه مساوی و ... استفاده میکنیم و برای چسباندن از دات مساوی.
 

majid mhm

کاربر جدید
ارسال‌ها
4
امتیاز
2
نام مرکز سمپاد
شهید بهشتی
شهر
بسطام
دانشگاه
دانشگاه صنعتی شاهرود
رشته دانشگاه
کامپیوتر-نرم افزار
پاسخ : آموزش php (برنامه نویسی تحت وب)

یه جاش برام نامفهومه اونم اینه که php رو تو خود صفحه ی اصلی وب می نویسی یا نه داری یه صفحه برای مدیر سایت درست می کنی ؟
 
  • لایک
امتیازات: tezar
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

به نقل از majid mhm :
یه جاش برام نامفهومه اونم اینه که php رو تو خود صفحه ی اصلی وب می نویسی یا نه داری یه صفحه برای مدیر سایت درست می کنی ؟
ببین عزیزم تو PHP رو هر جا بخوای توی هر صفحه ای میتونی بنویسی چه صفحه اصلی چه صفحه های دیگه PHP برای هر جایی هست که بخوای متغیر تعریف کنی یا صفحه ای داینامیک بسازی
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

دستورات شرط :
کد:
<html>
<head>
<title>php</title>
</head>
<body>
  <?php
     $var=3;
 $var1=4;
if($var == $var1){
 echo "mosavi";
}
elseif($var > $var1){
 echo "var bozorgtar ast";
}
else{
echo "ERROR";

}

  ?>
</body>
</html>
خروجی برنامه : ERROR
دستور IF به معنی اگر است که بعد اون شرط درون پرانتز می آید که اگر اون شرط باشد دستورات درون آکولاد را انجام میدهد.​
دستور ELSEIF به معنی در غیر این صورت اگر است که شرط آن در پرانتز و دستورات مانند IF در آکولاد می آید.​
دستور ELSE نیز به معنی در غیر این صورت است که اگر هر اتفاقی به جز شرط IF و یا ELSEIF بیافتد دستوراتی که بعد از ELSE در آکولاد نوشته ایم اجرا میشود.
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

حلقه ی WHILE :
حلقه وایل میاد میگه تا زمانی که دستور توی پرانتز هست کار های توی آکولاد را انجام بده :
کد:
<?php
$a=1;
while(a < 10){
echo $a;
$a++;
}
?>
خروجی برنامه : 123456789
زیرا هر بار که چاپ میکند یکی به متغیر اضافه میکند تا زمانی که از 10 کوچک تر شود یعنی وقتی 9 را چاپ کرد a 10 شده و چون کوچکتر از 10 نیست از حلقه خارج میشود.

حلقه ها همیشه سه چیز دارند :
1- شروع
2- پایان
3- هر بار چگونه و چقدر جلو رود
در while شروع از 1
پایان تا زمانی که دستور درون پرانتز باشد
و هر بار هم یکی جلو میرود

حلقه ی بی نهایت :
حلقه بی نهایت به حلقه ای میگویند که هیچ گاه تمام نوشود و تا ابد اتفاق بیافتد البته از لحاظ عملی غیر ممکنه زیرا سرور داون شده و ممروری تا یه جایی جا داره این حلقه ها هیچ گاه خوب نیستند زیرا باعث داون شدن سرور میشود و هکر ها هم برای هک سرور از همین روش استفاده میکنند یعنی یک حلقه بی نهایت میسازند تا سرور داون شود.
مثال :
کد:
<?php
while(0 ==0){
echo "a";
}
?>
خروجی : تا زمانی که سرور جا داره 'a' رو چاپ میکنه
=============================================================================
 

rezaezio

کاربر فوق‌حرفه‌ای
ارسال‌ها
1,167
امتیاز
1,956
نام مرکز سمپاد
حلّیِ 2
شهر
تهران
مدال المپیاد
برنز و طلای کامپیوتر !
دانشگاه
شریف
رشته دانشگاه
نرم افزار
پاسخ : آموزش php (برنامه نویسی تحت وب)

این پی اچ پی تب گذاری نداره کلا یا اینکه خودت تب نمی زنی ؟‌ :-?
 
ارسال‌ها
687
امتیاز
915
نام مرکز سمپاد
راهنمایی حلی 2 - دبیرستان حلی10
شهر
تهران
سال فارغ التحصیلی
1397
دانشگاه
Shahed Uni
رشته دانشگاه
Computer Science
تلگرام
اینستاگرام
پاسخ : آموزش php (برنامه نویسی تحت وب)

حلقه ها ( for ) :
خوب همون تور که گفتیم حلقه ها سه چیز دارن شروع ، پایان ، مقدار جلو رفتن .
ما توی فور بر خلاف وایل تمام این سه چیز رو خودمون انتخاب میکنیم به این صورت :
کد:
<?php
  for($i=1; $i<10; i++){
echo $i;
 }
 ?>
خروجی : 123456789​
اینجا شروع از 1 است و تا زمانی که i کوچک تر از 10 باشه که هر بار یکی به i اضافه میکنه.​
با فور میشود حتی کار وایل را نیز کرد ( تا یه حد زیادی ) .
 
بالا