PDA

نسخه کامل مشاهده نسخه کامل : آموزش ساخت یک سی ام اس (سیستم خبری) ساده



Mohammad King
13-10-2009, 16:38
با سلام.
با توجه به اینکه تو این چند وقت متوجه شدم خیلی ها دوست دارن که یک سیستم خبری داشته باشن، یا خودشون بنویسن، یا دوست دارن نوشتن یک سی ام اس رو یاد بگیرن، این آموزش رو که آموزش نوشتن یه سیستم خبری خیلی خیلی ساده با امکانات زیر رو آماده کردم که در اختیار دوستان بذارم. به امید اینکه نهایت استفاده رو ببرید.
امکانات :
مدیریت اخبار
ثبت خبر جدید
ویرایش خبرهای موجود
حذف خبرها
شمارنده بازدیدها برای هر خبر
لینک مستقیم برای خبرها

بسم الله الرحمن الرحیم...
خب شروع میکنیم.
1- اول که یک دیتابیس درست میکنیم و یک جدول که ساختارش به صورت زیر هست:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
2- حالا یک فایل به اسم config.php ایجاد میکنیم و اطلاعات دیتابیس رو تو می نویسیم به این صورت:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
3- حالا یه صفحه برای لوگین مدیریت میسازیم. من ساده ترینش رو نوشتم. شما میتونید بعدا برای افزایش امنیت این کد رو به اون صورتی که دوست دارید تغییر بدید. در ضمن بگم که فایهای مدیریت در پوشه ای به اسم admin باید قرار بگیرن.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیحات : همونطور که میبیند در ابتدای صفحه کدی نوشتیم مبنی بر اینکه اگر فرم ورود به مدیریت ارسال شده بود، سرور برامون یک جلسه ایجاد کنه.

4- حالا صفحه افزودن/ ویرایش خبرها رو درست میکنیم.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیحات : خب اول این صفحه گفتیم که چک کنه اگه جلسه ی مدیریت وجود داشت، صفحه افزودن خبر رو نشون بده و در خط آخر هم یه else گذاشتیم یعنی اگه جلسه ای پیدا نکرد کاربر رو به صفحه index.php (همون صفحه لوگین) هدایت کنه.
بعدش که یه سری کد اچ تی ام ال برای عنوان صفحه و سی اس اس و اینا هستش که کاری باهاش نداریم. بعدش از یه ساختار شرطی استفاده کردیم که چک میکنه می بینه اگه متغیر Act که از طریق متد POST ارسال شده ارزش AddNews رو داشت، خبر رو تو دیتابیس ذخیره کنه و اگه ارزش EditNews رو داشت، اطلاعات جدیدی که توسط مدیر برای ویرایش خبر داده شده رو تو دیتابیس جایگزین کنه.
این دو مرحله هم به این صورته که یه کوئری برای افزودن خبر : کد:
mysql_query ("INSERT INTO `news` VALUES ('', '".$_POST['newsTitle']."', '".$_POST['newsContent']."', '".mktime()."', '0')");
و اون یکی برای بروز کردن دیتابیس : کد:
mysql_query ("UPDATE `news` SET `title` = '".$_POST['newsTitle']."', `content` = '".$_POST['newsContent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
البته شما میتونید این دوتا صفحه رو جدا کنید مثلا یه صفحه به اسم editNews.php درست کنید که کارش فقط ویرایش مطلب باشه. این کار سلیقه ایه.
بعد از این کوئری ها هم که دوباره یه دستور شرطی برای خبر دادن به کاربر گذاشتیم که فکر کنم نیازی به توضیحات نداشته باشه.

5- صفحه مدیریت خبرها

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیحات : توی این صفحه قراره که ما لیست خبرهایی که تا حالا تو دیتابیس ذخیره شده رو به مدیر نشون بدیم. و این کار رو توسط دستور SELECT انجام میدیم. قسمت اول صفحه رو که عین همون صفحه افزودن خبر هست رو دیگه توضیح نمیدم. پایین ترش گفتیم که با یه if چک کنه که اگه متغیر delID از طریق متد GET به صفحه ارسال شده بود، خبری که مشخصه id اون همون عددی هستش که از متغیر delID رو از دیتابیس حذف کنه.
بعدش هم گفتیم که با دستور SELECT همه اطلاعات ذخیره شده تو دیتابیس رو بیرون بکشه و توسط یه حله while اونا رو تو یه جدول نشون بده.

6- خب تا اینجا بخش مدیریت سیستم تموم شد و حالا تنها چیزی که نیاز داریم، صفحه ای برای نمایش خبرهاست که به صورت زیر مینویسیمش:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
توضیحات : همونطور که مشاهده میکنید این صفحه هم مثل همون صفحه mgrNews.php که لیست خبرها رو نشون میداد هستش فقط قالب نمایشش رو تغییر دادیم.
پایان...