آموزش ساخت cms خبري – قسمت دوم

 

در اين بخش از آموزش نحوه کار با متغير ها, قوانين نام گذاري متغير ها, نحوه اتصال به ديتا بيس, دريافت اطلاعات از بانک اطلاعاتي صحبت کنيم.
البته با اين مقدمه چيني ها در پايان مبحث کد اصلي مربوط به برنامه رو مي نويسيم.
متغير :
متغير يک نگهدارنده ي ويژه جهت ذخيره سازي مقادير توليد شده توسط اسکريپت ها , اشاره گر ها يا توابع اسکريپت ها مي باشد.
انواع متغير ها : ديناميک (قابل تغيير) و استاتيک (غير قابل تغيير)
قوانين نام گذاري:
1. نام متغير با $ شروع مي شود.
2. نام متغير به بزرگي و کوچکي حروف حساس مي باشد.
3. کاراکتر دوم (بعد از $) حرف يا _ مي تواند باشد. بقيه نام کاراکتر مي تواند شامل حروف, اعداد و غير باشد.
نکته : به متغير هاي نگهدارنده ي عدد متغير هاي عددي مي گويند که مي توانند شامل يک عدد مثبت يا منفي باشند.متغير هاي شامل رشته را متغير هاي رشته اي مي گويند.
مثال : اين هم يک متغير رشته اي:

کد PHP:
<?php
$var ="This is a simple text!";
?>

ثابتها

اين نوع پس از مقدار دهي اوليه غير قابل تغييرند. دسترسي به ثابتها و حوزه تعريف آن ها سراسري است و از طريق هر تابع و يا مولفه قادر به دسترسي به آنها خواهيد بود.
نام ثابتها از قوانين نام گذاري متغير ها پيروي مي کند با اين تفاوت که با $ شروع نمي گردد.
در متغير ها براي انتساب مقدار از = استفاده مي شود حال آنکه در ثابت ها از تابع define .
اين تابع دو مقدار مي گيرد:1. نام ثابت 2. مقدار
مثال:
در مثال زير salam نام ثابت و Hello مقدار آن است.

کد PHP:
define ('salam','Hello');

در همين پروژه از ثابتها براي افزايش امنيت استفاده مي کنيم.
بانک اطلاعاتي:
در اين مورد بحث هاي زيادي شده براي اطلاعات بيشتر عبارت ” آموزش php قسمت ششم (ارتباط با ديتابيس MySql) ” را در انجمن ها جستجو کنيد.
خوب براي راحتي کار بخش هايي رو براتون مستقيما کپي مي کنم و بخش هايي رو هم خودم اضافه مي کنم.

اتصال به هاست : منظور از هاست اون كامپيوتري هست كه MySql روي اون نصبه و همه داده ها اونجا ذخيره ميشن. توي برنامه هايي كه ما مي نويسيم معمولا همون localhost است . براي اتصال به هاست نياز به يه username , password داريم . با استفاده از دستور زير به هاست متصل مي شويم.

کد PHP:
mysql_connect( HostName , HostUserName , HostPassword);

توضيحات :
HostUsername:
نام کاربري که در لوکال هاست معمولا root مي باشد.
HostPassword:

کلمه عبور (گذر واژه) که در لوکال هاست معمولا مقدار دهي نشده (تهي) مي باشد.

اگه روي كامپيوتر خودتون داريد كار مي كنيد براي مثال از اين دستور اين طوري استفاده كنيد :

کد PHP:
$myconn = mysql_connect( "localhost" , "root" , "");
if($myconn)
print ("Connection Sucsessful!");
else
print("Connection Failed!");

ما در اينجا mysql_connect رو به يک متغير نسبت مي ديم بعد با دستور if صحت برقراري ارتباط رو بررسي مي کنيم.
در مرحله بعد ما بايد ديتابيس مورد نظر خودمون رو انتخاب کنيم.(پيشفرض آموزش news_cms )
براي اينکار از دستور زير استفاده مي کنيم:

کد PHP:
mysql_select_db("news_cms",$myconn);

خوب news_cms رو به وسيله متغيري که تعريف کرديم انتخاب کرديم.
حالا بايد اطلاعات رو از ديتابيس دريافت کنيم.با اين کار اخبار ارسال شده رو مي تونيم دريافت کنيم.
*اجراي يك Query :
دستور اجراي يك Query اينه :

کد PHP:
mysql_query(QueryString , ConnectionID);

در اينجا ما براي انتخاب اخبار بايد از select استفاده کنيم.جدول data پيشفرض بود که در اون اخبار ذخيره ميشه.در اينجا هم متغيري به نام result تعريف مي کنيم.

کد PHP:
$result=mysql_query("Select from * data", $myconn);
// با استفاده از اين کد تعداد رديف هاي موجود(اخبار) رو بدست مي آوريم.
$rows = mysql_num_rows($result);
// بررسي مي کنيم که اگه خبري ثبت نشده پيغان مناسبي نشان داده شود.
if ($rows == 0) {
echo"There is no news in our database!";
}

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

کد PHP:
define('news_security',true)

حالا در فايلي که حاوي اطلاعات مهم ما هست (اتصال به ديتا بيس و …) بررسي مي کنيم آيا اين ثابت تعريف شه يا نه! اين ثابت اختياري است و کسي نبايد اونو حدس بزنه!

کد PHP:
if ( !defined('news_security'))
{
die("You are not allowed to access this page directly");
}

با defined مي تونيم بفهميم که ثابت تعريف شده يا نه و با قراردادن ! در کنار آن (نقش نامساوي يا نفي کننده) گفتيم که اگه اين ثابت تعريف نشده فورا اجراي برنامه را خاتمه دهد. در واقع اين کار را با دستور die انجام داديم نه exit که خطاي مهلکي اجرا مي شود و بلافاصله اجراي برنامه خاتمه مي يابد.
اما فايل هاي پروژه رو دسته بندي کنيم:
پوشه اي با نام includes درست کنيد و کدهاي زير را در فايلي با نام config.php ذخيره کنيد.
شديدا توصيه مي کنم کدها رو خودتون شخصا تايپ کنيد!

کد PHP:
<?php
//     Security
if ( !defined('news_security'))
{
die("You are not allowed to access this page directly");
}

//     Database Information

$hostname    = "localhost";
$username    = "root";
$password    = "";
$database    = " news_cms ";

//     Database Connection

$connection = mysql_connect($hostname,$username,$password) or die (mysql_error());
//    Select database
$database = mysql_select_db($database,$connection) or die (mysql_error());
//    Numbers of news in the main page
$news_limit    = "10";
$debug_mode    = "off";
$counter        = "on";

?>

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

نظرات کاربران :

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

This site uses Akismet to reduce spam. Learn how your comment data is processed.