آموزش PHP – جلسه دوم : ثوابت
قبلا در مورد در متغیرها براتون توضیحاتی دادم و می دانید که مقدار ذخیره شده در متغیر را می توان عوض کرد. در مقابل متغیرها ثوابت قرار دارد. ثوابت هم همانند متغیرها می باشند ولی با این تفاوت که مقدار آنها یکبار برای همیشه تعریف می شود و دیگر نمی توان مقدار آن را عوض کرد.
برای اعلان ثوابت در PHP از تابع define استفاده می شود. همچنین برای نام ثوابت از حروف بزرگ استفاده می شود تا متغیرها که معمولا با نام کوچک می باشند متمایز شوند. برای درک بهتر موضوع به کدهای زیر نگاه کنید:
<?php /* php learn , payam.keivany.ir */ define('YEAR', '2014'); define('MONTH', "April"); $DAY = '24'; define('DAY', $DAY); $month = MONTH; echo DAY." ".$month." ".YEAR; ?>
در سطرهای 3 و 4 ثابت های YEAR و MONTH تعریف شده اند که به ترتیب دارای مقادیر 2012 و April می باشند. در سطر 5 متغیر DAY وجود دارد که هم نام با ثابت سطر پنجم می باشد. در سطر پنجم متغیر DAY داخل ثابت DAY به کار رفته است! برای اینکه چنین شباهت هایی از بین رود معمولا متغیرها را با حروف کوچک و ثوابت را با حروف بزرگ نشان می دهند. البته توجه داشته باشید که این اصل اجباری نیست و هیچ خطایی به موقع اجرا کدها به وجود نخواهد آمد.
همانطور که در سطر پنجم مشاهده می کنید متغیر را داخل ثابت به کار گرفته ایم که عکس همین کار در سطر هفتم دیده می شود. و درسطر هشتم مقادیر را با استفاده از دستور echo چاپ می کنیم که خروجی کار به صورت زیر خواهد بود:
24 April 2014
در صورتی که میخواستید یکی از ثابت های فوق را مجددا با مقدار دیگر به کار بگیرید، در این حالت برنامه اجرا نمیشد و خطا داده میشد.
من یک پنل ورود با “define” درست کردم وفقط می تونم یک رمز عبور با یک یوزر بسازم
اگه می شه یک راه بگید که بتونم بیشتر بسازم
متوجه منظورتون نشدم چی رو بیشتر بسازید؟ یوزر برای ورود به پنل؟ اگر آره خوب می تونید مثل همون یدونه که ایجاد کردی بقیه رو هم تعریف کنی و در نهایت موقع ورودی بررسی کنی ببینی اطلاعات وارد شده با اون ها درست هست یا نه.
define رو برای چه چیزی استفاده کردی؟ برای نگهداری اطلاعات کاربر جهت بررسی صحت اطلاعات وارد شده در فروم لاگین باید از پایگاه داده استفاده کنی. اگر با جزئیات بگی بهتر میتونم راهنمایی کنم.