پاسخ : آموزش ساخت سیستم مدیریت محتوای ساده با php
ادامه بخش نهم: ایجاد صفحه
---------------------------
کد های html قالب و فرم وارد و ویرایش کردن اطلاعات
کد PHP:
<div id="main">
<img src="files/header.jpg" border="0">
<div class="navbar">
<ul>
<li><a href="home.php">داشبورد</a></li>
<li><a href="../index.php" target="_blank">نمایش سایت</a></li>
</ul>
</div>
</div>
<div id="sidebar">
<ul>
<li><a href="home.php">داشبورد</a></li>
<li><a href="addnews.php">ارسال خبر جدید</a></li>
<li><a href="addpage.php">ایجاد صفحه جدید</a></li>
<li><a href="addlink.php">ارسال لینک جدید</a></li>
<li><a href="news.php">مدیریت اخبار</a></li>
<li><a href="pages.php">مدیریت صفحات</a></li>
<li><a href="links.php">مدیریت لینک ها</a></li>
<li><a href="homepage.php">مدیریت صفحه نخست</a></li>
<li><a href="?logout=true"><font color="red">خروج!</b></font></a></li>
</ul>
</div>
<div class="content">
<div class="top-text">ایجاد صفحه جدید</div>
<?php echo $status; ?>
<div class="forms">
<form method="post" action="">
<input type="hidden" name="go" value="<?php echo (isset($row_page)) ? "edit" : "add"; ?>">
<?php echo (isset($row_page)) ? '<input type="hidden" name="id" value="'.$row_page['id'].'">' : ''; ?>
<label for="username"> عنوان صفحه : </label>
<input name="pagetitle" type="text" value="<?php echo $row_page['title']; ?>" class="form" />
<br /><br /><br />
<label for="content"> متن صفحه: </label>
<textarea name="pagecontent" rows="10" cols="80" id="editor"><?php echo $row_page['content']; ?></textarea>
<br /><br /><br /><br />
<input type="submit" value="ایجاد صفحه" name="submit">
</form>
</div>
</div>
<div class="clear"></div>
</div>
</body></html>
<?php } else { header ("location: index.php"); } ?>
در ادامه کد های قالب وجود دارن و فرم وارد کردن و ویرایش کردن اطلاعات... که قبلا در قسمت ارسال خبر مفصل توضیح داده شده...
در خط اخر هم بررسی لایه جلسه (ورود مدیر) انجام میشه (اگه مدیر وارد نشده بود برو به صفحه ورود index.php)
مرحله بعدی: نمایش لیست اخبار/حذف خبر
پاسخ : آموزش ساخت سیستم مدیریت محتوای ساده با php
لیست صفحات - حذف صفحه - فایل pages.php
خب میرسیم به فایل pages.php :
این فایل لیست صفحات رو نمایش میده
همچنین کاربر میتونه خبر رو حذف کنه. برای ویرایش هم که لینک داده میشه به صفحه ایجاد صفحه...
این صفحه دقیقا شبیه به فایل news.php (لیست اخبار) هست. با این تفاوت که باید به جدول page متصل بشه و اطلاعات اون رو نمایش بده...http://forum.persianscript.ir/images/smilies/67.gif
این صفحه شامل اطلاعات زیر هست:
کد HTML:
<?php session_start(); if ( isset($_SESSION['user']) ) { if ( (isset($_GET['logout'])) && ($_GET['logout'] == "true") ) { unset ($_SESSION['user']); header ("Location: index.php"); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> مديريت سايت - مديريت صفحات سايت</title> <link href="files/style.css" rel="stylesheet" type="text/css"> </head> <body> <?php include "config.php"; if ( isset($_GET['delete']) && !empty($_GET['delete']) ) { $del = mysql_query ("DELETE FROM `page` WHERE `id` = '".intval($_GET['delete'])."' LIMIT 1"); if ( $del ) { $status = '<div class="ok">صفحه انتخاب شده با موفقيت از سايت حذف شد</div>'; } else { $status = '<div class="error">مشکلي در حذف صفحه وجود دارد!دوباره امتحان کنيد</div>'; } } ?> <div id="main"> <img src="files/header.jpg" border="0"> <div class="navbar"> <ul> <li><a href="home.php">داشبورد</a></li> <li><a href="../index.php" target="_blank">نمايش سايت</a></li> </ul> </div> </div> <div id="sidebar"> <ul> <li><a href="home.php">داشبورد</a></li> <li><a href="addnews.php">ارسال خبر جديد</a></li> <li><a href="addpage.php">ايجاد صفحه جديد</a></li> <li><a href="addlink.php">ارسال لينک جديد</a></li> <li><a href="news.php">مديريت اخبار</a></li> <li><a href="pages.php">مديريت صفحات</a></li> <li><a href="links.php">مديريت لينک ها</a></li> <li><a href="homepage.php">مديريت صفحه نخست</a></li> <li><a href="?logout=true"><font color="red">خروج!</font></a></li> </ul> </div> <div class="content"> <div class="top-text">مديريت صفحات</div> <php echo $status;?> <table id="box-table-a"> <thead> <tr> <th scope="col">عنوان صفحه</th> <th scope="col">تاريخ ارسال</th> <th scope="col">ويرايش</th> <th scope="col">حذف</th> </tr> </thead> <tfoot> <tr> <td colspan="3"><em>در حذف کردن صفحات دقت کنيد</em></td> <td> </td> </tr> </tfoot> <tbody> <?php $Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC"); while ( $row_page = mysql_fetch_array($Query) ) { ?> <tr> <td><?php echo $row_page['title']; ?></td> <td><?php echo date("Y/n/d", $row_page['date']) ?></td> <td><a href="addpage.php?edit=<?php echo $row_page['id']; ?>"><img src="files/page_edit.png" border="0" title="ويرايش صفحه" /></a></td> <td><a onclick="if (confirm('ايا از حذف صفحه انتخاب شده مطمئن هستيد؟')) window.location = '?delete=<?php echo $row_page['id']; ?>';" href="#"><img src="files/page_delete.png" border="0" title="حذف صفحه" /></a></td> </tr> <?php } ?> </tbody> </table> </div> <div class="clear"></div> </div> </body></html> <?php } else { header ("location: index.php"); } ?>
توضیح زیادی نمیدم. چون قبلا توضیحات فایل news.php رو دادم و این هم تفاوتی با اون نداره
کد های بررسی مدیر:
کد PHP:
<?php
session_start();
if ( isset($_SESSION['user']) ) {
if ( (isset($_GET['logout'])) && ($_GET['logout'] == "true") )
{
unset ($_SESSION['user']);
header ("Location: index.php");
}
?>
این کد که تو همه صفحات مدیر هست. بررسی میکنه که مدیر وارد شده یا نه... در صورتی که وارد شده بود که صفحه رو نمایش میده. در غیر اینصورت انتقال داده میشه به صفحه ورود
---------------
کد های HTML قالب:
کد HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> مدیریت سایت - مدیریت صفحات سایت</title> <link href="files/style.css" rel="stylesheet" type="text/css"> </head> <body>
کد های html قالب هست که توضیح نداره...
----------
دستورات و شرط های حذف خبر:
کد PHP:
<?php
include "config.php";
if ( isset($_GET['delete']) && !empty($_GET['delete']) )
{
$del = mysql_query ("DELETE FROM `page` WHERE `id` = '".intval($_GET['delete'])."' LIMIT 1");
if ( $del )
{
$status = '<div class="ok">صفحه انتخاب شده با موفقیت از سایت حذف شد</div>';
}
else
{
$status = '<div class="error">مشکلی در حذف صفحه وجود دارد!دوباره امتحان کنید</div>';
}
}
?>
ما در اینجا در ابتدا فایل کانفیگ (که اطلاعات دیتابیس داخلش هست) رو فراخوانی میکنیم. و در ابتدا بررسی میکنیم که اگه کاربر delete رو ارسال کرده و همچنین مقدار delete خالی نبود (باید شماره صفحه باشه - همون id)
اون وقت برو مقدار delete که به id صفحه برمیگرده رو حذف کن. (یعنی کل صفحه رو حذف کن)
و در نهایت اگه صفحه حذف شد پیغام "صفحه انتخاب شده با موفقیت از سایت حذف شد" میره تو متغیر status و در صورتی که مشکلی پیش اومد و حذف نشد پیغام "مشکلی در حذف صفحه وجود دارد!دوباره امتحان کنید" رو چاپ کن
این status قراره بعدا چاپ بشه و از وضعیت حذف صفحه مدیر رو آگاه کنه...
----------------------
منوی سمت راست (کد html):
کد HTML:
<div id="main"> <img src="files/header.jpg" border="0"> <div class="navbar"> <ul> <li><a href="home.php">داشبورد</a></li> <li><a href="../index.php" target="_blank">نمایش سایت</a></li> </ul> </div> </div> <div id="sidebar"> <ul> <li><a href="home.php">داشبورد</a></li> <li><a href="addnews.php">ارسال خبر جدید</a></li> <li><a href="addpage.php">ایجاد صفحه جدید</a></li> <li><a href="addlink.php">ارسال لینک جدید</a></li> <li><a href="news.php">مدیریت اخبار</a></li> <li><a href="pages.php">مدیریت صفحات</a></li> <li><a href="links.php">مدیریت لینک ها</a></li> <li><a href="homepage.php">مدیریت صفحه نخست</a></li> <li><a href="?logout=true"><font color="red">خروج!</font></a></li> </ul> </div>
این مربوط به قالب میشه و چیز خاصی نداره...
--------------------
حلقه نمایش لیست صفحات و اطلاعات هر صفحه:
کد PHP:
<div class="content">
<div class="top-text">مدیریت صفحات</div>
<php echo $status;?>
<table id="box-table-a">
<thead>
<tr>
<th scope="col">عنوان صفحه</th>
<th scope="col">تاریخ ارسال</th>
<th scope="col">ویرایش</th>
<th scope="col">حذف</th>
</tr>
</thead>
<tfoot>
<tr>
<td colspan="3"><em>در حذف کردن صفحات دقت کنید</em></td>
<td> </td>
</tr>
</tfoot>
<tbody>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<tr>
<td><?php echo $row_page['title']; ?></td>
<td><?php echo date("Y/n/d", $row_page['date']) ?></td>
<td><a href="addpage.php?edit=<?php echo $row_page['id']; ?>"><img src="files/page_edit.png" border="0" title="ویرایش صفحه" /></a></td>
<td><a onclick="if (confirm('ایا از حذف صفحه انتخاب شده مطمئن هستید؟')) window.location = '?delete=<?php echo $row_page['id']; ?>';" href="#"><img src="files/page_delete.png" border="0" title="حذف صفحه" /></a></td>
</tr>
<?php } ?>
</tbody>
</table>
</div>
<div class="clear"></div>
</div>
</body></html>
<?php } else { header ("location: index.php"); } ?>
در این قسمت ما یک حلقه داریم که صفحات رو برمیگردونه و داخل یک جدول به صورت منظم با اطلاعات تاریخ ارسال و عنوان صفحه نمایش میده. همچنین قابلیت حذف و ویرایش خبر رو گذاشتیم که برای حذف توضیح دادیم و برای ویرایش میره به صفحه ایجاد صفحه
در انتها هم دستور بررسی ورود مدیر بسته میشه...
این صفحه تموم شد.
مرحله بعدی .صفحه ارسال لینک (لینک دوستان)
پاسخ : آموزش ساخت سیستم مدیریت محتوای ساده با php
حلقه های نمایش اخبار و صفحات در صفحه اصلی
در این قسمت قصد داریم حلقه هایی که در مرحله قبل توضیح دادم پیاده سازی کنیم. با استفاده از حلقه های PHP میخوایم لینک صفحات, 5 خبر اخر ارسال شده و همچنین لینک ها رو نمایش بدیم
مرحله 1: فراخوانی کردن فایل کانفیگ
در ابتدای قالب ما باید فایل کانفیگ (config.php) رو در قالب نمایش بدم. چرا؟ چون باید با استفاده از مشخصات دیتابیس که در این فایل دادیم, محتویات جداول و سطر ها رو نمایش بدیم
همچنین اگه یادتون باشه ما توی فایل کانفیگ مشخصات دیگه ای هم دادیم. مثل عنوان سایت, توضیحات سایت و... که قراره اینجا نمایش داده بشه...
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Design by Cheapest TRamadol Online
Released for free under a Creative Commons Attribution 3.0 License
-->
<?php
include "admin/config.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo"><h1><a href="index.php"><?php echo $title;?><small><?php echo $desc;?></small></a></h1></div>
<div class="clr"></div>
- در ابتدا ما فایل کانفیگ رو فراخوانی میکنیم (خط 7)
- در خط 11 ما عنوان سایت رو با استفاده از متغیر title نمایش میدیم (متغیر از فایل کانفیگ نمایش داده میشه)
- در خط 21 عنوان و توضیحات سایت رو با استفاده از متغیر desc و title نمایش میدیم. (متغیر از فایل کانفیگ نمایش داده میشه)
پیاده سازی اولین حلقه: حلقه نمایش صفحات (در منوی بالایی)
کد PHP:
<div class="menu_nav">
<ul>
<li class="active"><a href="index.php">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 4");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="clr"></div>
- در ابتدا ما یک متغیر ایجاد میکنیم به اسم کوئری (Query) که خروجی mysql_query (و دستور انتخاب از جدول page) رو میریزم داخل این متغیر
- بعد با استفاده از حلقه while میایم خروجی هر سطر رو (تا 4 صفحه) نمایش میدیم
- حلقه while رو میبندیم
ما چه چیزی رو انتخاب select می کنیم
ما میایم با دستورات sql به دیتابیس دستور میدیم که( به ترتیب ) : انتخاب کن همه فیلد ها را از جدول "صفحات" بر اساس id صفحه به صورت نزولی
در اینجا با استفاده از حلقه تکرار شونده میایم این تکرار ها رو داخل هر li میاریم. و داخل li عنوان رو نمایش میدیم. همچنین id رو به عنوان کلید قرار میدیم که به صورت GET بفرستیم به صفحه page.php (که در مرحله بعد ساخته میشه) تا اون خبر رو به تنهایی نمایش بده.
پیاده سازی دومین حلقه: حلقه نمایش اخبار (عنوان خبر, توضیحات کوتاه)
کد PHP:
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<?php
$Query = mysql_query ("SELECT * FROM `news` ORDER BY `id` DESC LIMIT 10");
while ( $row_news = mysql_fetch_array($Query) ) {
?>
<div class="article">
<h2><?php echo $row_news['title']; ?></h2><div class="clr"></div>
<p><span class="date"><?php echo date("l d F Y", $row_news['date']) ?></span></p>
<p><?php echo $row_news['content']; ?></p>
<p class="spec"><a href="news.php?id=<?php echo $row_news['id']; ?>" class="rm">ادامه نوشته...</a></p>
</div>
<?php }?>
در اینجا ما جدول اخبار که news هست رو بر اساس id یا شناسه انتخاب می کنیم! و میگیم که آخرین اخبار (به تعداد 10 خبر) رو نمایش بده. در ادامه ما مقادیر هر سطر که عنوان خبر, تاریخ ارسال , و متن کوتاه خبر مورد نظر رو نمایش میدیم
همینطور با استفاده از شناسه خبر (id) رو به وسیله GET میفرستیم به صفحه news.php که قرار هر خبر رو به تنهایی همراه با جزئیات بیشتر (ادامه مطلب / مطلب کامل) نمایش بده
پیاده سازی سومین حلقه: حلقه نمایش صفحات (در منوی راست)
کد PHP:
<div class="gadget">
<h2 class="star"><span>منوی</span> اصلی</h2><div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
ما دوباره میایم لیست صفحات رو از دیتابیس نمایش میدیم. (دقیقا مثل منوی بالای سایت)
پس توضیح خاصی نمیدم
پیاده سازی چهارمین حلقه: حلقه نمایش لینک دوستان
کد PHP:
<div class="gadget">
<h2 class="star"><span>لینک ها</span></h2><div class="clr"></div>
<ul class="ex_menu">
<?php
$Query = mysql_query ("SELECT * FROM `link` ORDER BY `id` DESC");
while ( $row_link = mysql_fetch_array($Query) ) {
?>
<li><a href="<?php echo $row_link['url']; ?>" title="<?php echo $row_link['title']; ?>"><?php echo $row_link['title']; ?></a><br /><?php echo $row_link['description']; ?></li>
<?php }?>
</ul>
</div>
ما در این قسمت باید مقادیر رو از جدول link که همون لینک های دوستان هست رو نمایش بدیم. مثل حلقه های گذشته کوئری میگیریم. یک حلقه while ایجاد میکنیم و مقادیر عنوان لینک و آدرس لینک و توضیحات لینک رو نمایش میدیم
در اخر حلقه رو میبندیم
پیاده سازی حلقه پنجم و متغیر های دیگر : (متن درباره ما, و حلقه نمایش صفحات در فوتر سایت)
خب دوستان. الان رسیدیم به ته برگ سایت (فوتر)
ما در این قسمت چند قسمت (بلاک) داریم با نام های درباره من, من در... , و تماس با من
که برای هر کدوم از اینها من یک متغیر در فایل config.php درست کردم که با یک بار وارد کردن مقادیر, در تمامی صفحات نمایش داده بشه!
کد PHP:
<div class="fbg">
<div class="fbg_resize">
<div class="col c1">
<h2><span>درباره من</span></h2>
<img src="http://forum.persianscript.ir/images/white.jpg" width="56" height="56" alt="pix" />
<?php echo $about;?>
</div>
<div class="col c2">
<h2><span>من در...</span></h2>
<ul class="sb_menu">
<li><a href="<?php echo $facebook;?>">فیسبوک</a></li>
<li><a href="<?php echo $twitter;?>">توییتر</a></li>
<li><a href="<?php echo $google;?>">گوگل +</a></li>
</ul>
</div>
<div class="col c3">
<h2>تماس با من</h2>
<p>برای تماس با من میتوانید از طریق زیر اقدام نمایید</p>
<p><a href="mailto:<?php echo $email;?>"><?php echo $email;?></a></p>
<p><?php echo $tell;?></p>
</div>
<div class="clr"></div>
</div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="lf">© آموزش طراحی سیستم مدیریت محتوای ساده توسط <a href="#">پرشین اسکریپت</a>. قالب برگرفته از <a href="http://www.coolwebtemplates.net/">Website Templates</a></p>
<ul class="fmenu">
<li class="active"><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 5");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
<div class="clr"></div>
</div>
</div>
در ابتدا متغیر درباره و فیسبوک و توییتر و گوگل همچنین تماس با مدیر سایت رو از کانفیگ میگیریم و در مکان دلخواه که همون ته برگ و در بلاک های مورد نظر هست نمایش میدیم.
در اخر دوباره از جدول صفحات لیست صفحات رو در فوتر سایت نمایش میدیم.
پاسخ : آموزش ساخت سیستم مدیریت محتوای ساده با php
نمایش متن کامل خبر - News.php
بالاخره بعد از مدت ها فرصت شد سیستم رو تکمیل کنم.
در این بخش میخوایم قسمت اخبار رو تکمیل کنیم. بعنی با کلیک کردن کاربر روی " ادامه مطلب " متن کامل خبر خونده بشه! یا با کلیک بر روی صفحات دیگه سایت متن کامل اون صفحه و توضیحات بیاد!
برای این کار ما تغییرات زیادی نسبت به فایل index.php نمیدیم! فقط یک شرط میزاریم که در صورتی که کاربر شماره خبر رو به وسیله GET فرستاده بود. سطر مورد نظر رو بخون! و این دفعه تنها یک مقدار رو نشون بده یعنی limit برابر 1 باشه!
محتویات فایل news.php :
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Design by Cheapest TRamadol Online
Released for free under a Creative Commons Attribution 3.0 License
-->
<?php
include "admin/config.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo"><h1><a href="index.php"><?php echo $title;?><small><?php echo $desc;?></small></a></h1></div>
<div class="clr"></div>
<div class="menu_nav">
<ul>
<li class="active"><a href="index.php">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 4");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<?php
if ( isset($_GET['id']) )
{
$Query = mysql_query ("SELECT * FROM `news` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
}
while ( $row_news = mysql_fetch_array($Query) ) {
?>
<div class="article">
<h2><?php echo $row_news['title']; ?></h2><div class="clr"></div>
<p><span class="date"><?php echo date("l d F Y", $row_news['date']) ?></span></p>
<p><?php echo $row_news['content']; ?></p>
<p><?php echo $row_news['fullcontent']; ?></p>
</div>
<?php }?>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>منوی</span> اصلی</h2><div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="gadget">
<h2 class="star"><span>لینک ها</span></h2><div class="clr"></div>
<ul class="ex_menu">
<?php
$Query = mysql_query ("SELECT * FROM `link` ORDER BY `id` DESC");
while ( $row_link = mysql_fetch_array($Query) ) {
?>
<li><a href="<?php echo $row_link['url']; ?>" title="<?php echo $row_link['title']; ?>"><?php echo $row_link['title']; ?></a><br /><?php echo $row_link['description']; ?></li>
<?php }?>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">
<div class="fbg_resize">
<div class="col c1">
<h2><span>درباره من</span></h2>
<img src="images/white.jpg" width="56" height="56" alt="pix" />
<?php echo $about;?>
</div>
<div class="col c2">
<h2><span>من در...</span></h2>
<ul class="sb_menu">
<li><a href="<?php echo $facebook;?>">فیسبوک</a></li>
<li><a href="<?php echo $twitter;?>">توییتر</a></li>
<li><a href="<?php echo $google;?>">گوگل +</a></li>
</ul>
</div>
<div class="col c3">
<h2>تماس با من</h2>
<p>برای تماس با من میتوانید از طریق زیر اقدام نمایید</p>
<p><a href="mailto:<?php echo $email;?>"><?php echo $email;?></a></p>
<p><?php echo $tell;?></p>
</div>
<div class="clr"></div>
</div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="lf">© آموزش طراحی سیستم مدیریت محتوای ساده توسط <a href="#">پرشین اسکریپت</a>. قالب برگرفته از <a href="http://www.coolwebtemplates.net/">Website Templates</a></p>
<ul class="fmenu">
<li class="active"><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 5");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
<div class="clr"></div>
</div>
</div>
</div>
</body>
</html>
خب در ابتدا ما مشخصه های ثابت و قبلی که در فایل index.php توضیح دادم. مثل نمایش نام سایت, عنوان سایت, لیست صفحات در منوی ناوبری بالای سایت ووو... هست!
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Design by Cheapest TRamadol Online
Released for free under a Creative Commons Attribution 3.0 License
-->
<?php
include "admin/config.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo"><h1><a href="index.php"><?php echo $title;?><small><?php echo $desc;?></small></a></h1></div>
<div class="clr"></div>
<div class="menu_nav">
<ul>
<li class="active"><a href="index.php">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 4");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
قسمتی که ما با اون کار داریم و تغییرات جزئی در اون نسبت به فایل index.php ایجاد میکنیم. همون شرط هست. محتویات حلقه ما به شرح زیر هست
کد PHP:
<?php
if ( isset($_GET['id']) )
{
$Query = mysql_query ("SELECT * FROM `news` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
}
while ( $row_news = mysql_fetch_array($Query) ) {
?>
<div class="article">
<h2><?php echo $row_news['title']; ?></h2><div class="clr"></div>
<p><span class="date"><?php echo date("l d F Y", $row_news['date']) ?></span></p>
<p><?php echo $row_news['content']; ?></p>
<p><?php echo $row_news['fullcontent']; ?></p>
</div>
<?php }?>
توضیحات:
در ابتدا میگیم اگر که کاربر شماره خبری رو به وسیله id فرستاده بود دستورات زیر مجموعه که نمایش متن خبر هست رو اجرا کن.
در صورتی که کاربر شماره خبر رو زده بود از جدول news - اخبار بر اساس شماره خبر (ورودی که کاربر یا سایت ارسال کرده)یک خبر رو انتخاب کن.
حالا با یک حلقه while مقدار های مورد نیاز رو نمایش میدیم. مقادیر مورد نیاز عنوان خبر,تاریخ ارسال خبر , متن کوتاه خبر و متن کامل خبر هست!
و حلقه بسته میشه.
باقی کد ها مانند فایل index.php هستن که شامل نوار کناری که صفحات سایت و لینک های دوستان رو نمایش میده و ته برگ سایت که محتویات ثابت مثل تماس با ما و... رو نمایش میده
به شرح زیر هست:
کد PHP:
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>منوی</span> اصلی</h2><div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="gadget">
<h2 class="star"><span>لینک ها</span></h2><div class="clr"></div>
<ul class="ex_menu">
<?php
$Query = mysql_query ("SELECT * FROM `link` ORDER BY `id` DESC");
while ( $row_link = mysql_fetch_array($Query) ) {
?>
<li><a href="<?php echo $row_link['url']; ?>" title="<?php echo $row_link['title']; ?>"><?php echo $row_link['title']; ?></a><br /><?php echo $row_link['description']; ?></li>
<?php }?>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">
<div class="fbg_resize">
<div class="col c1">
<h2><span>درباره من</span></h2>
<img src="images/white.jpg" width="56" height="56" alt="pix" />
<?php echo $about;?>
</div>
<div class="col c2">
<h2><span>من در...</span></h2>
<ul class="sb_menu">
<li><a href="<?php echo $facebook;?>">فیسبوک</a></li>
<li><a href="<?php echo $twitter;?>">توییتر</a></li>
<li><a href="<?php echo $google;?>">گوگل +</a></li>
</ul>
</div>
<div class="col c3">
<h2>تماس با من</h2>
<p>برای تماس با من میتوانید از طریق زیر اقدام نمایید</p>
<p><a href="mailto:<?php echo $email;?>"><?php echo $email;?></a></p>
<p><?php echo $tell;?></p>
</div>
<div class="clr"></div>
</div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="lf">© آموزش طراحی سیستم مدیریت محتوای ساده توسط <a href="#">پرشین اسکریپت</a>. قالب برگرفته از <a href="http://www.coolwebtemplates.net/">Website Templates</a></p>
<ul class="fmenu">
<li class="active"><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 5");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
<div class="clr"></div>
</div>
</div>
</div>
</body>
</html>
پاسخ : آموزش ساخت سیستم مدیریت محتوای ساده با php
قصد داریم در این مرحله فایل page.php که کارش نمایش صفحات سایت هست. مثل صفحه درباره ما و... رو انجام بدیم
محتویات فایل page.php
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Design by Cheapest TRamadol Online
Released for free under a Creative Commons Attribution 3.0 License
-->
<?php
include "admin/config.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo"><h1><a href="index.php"><?php echo $title;?><small><?php echo $desc;?></small></a></h1></div>
<div class="clr"></div>
<div class="menu_nav">
<ul>
<li class="active"><a href="index.php">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 4");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
<?php
if ( isset($_GET['id']) )
{
$Query = mysql_query ("SELECT * FROM `page` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
}
while ( $row_news = mysql_fetch_array($Query) ) {
?>
<div class="article">
<h2><?php echo $row_news['title']; ?></h2><div class="clr"></div>
<p><span class="date"><?php echo date("l d F Y", $row_news['date']) ?></span></p>
<p><?php echo $row_news['content']; ?></p>
</div>
<?php }?>
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>منوی</span> اصلی</h2><div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="gadget">
<h2 class="star"><span>لینک ها</span></h2><div class="clr"></div>
<ul class="ex_menu">
<?php
$Query = mysql_query ("SELECT * FROM `link` ORDER BY `id` DESC");
while ( $row_link = mysql_fetch_array($Query) ) {
?>
<li><a href="<?php echo $row_link['url']; ?>" title="<?php echo $row_link['title']; ?>"><?php echo $row_link['title']; ?></a><br /><?php echo $row_link['description']; ?></li>
<?php }?>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">
<div class="fbg_resize">
<div class="col c1">
<h2><span>درباره من</span></h2>
<img src="images/white.jpg" width="56" height="56" alt="pix" />
<?php echo $about;?>
</div>
<div class="col c2">
<h2><span>من در...</span></h2>
<ul class="sb_menu">
<li><a href="<?php echo $facebook;?>">فیسبوک</a></li>
<li><a href="<?php echo $twitter;?>">توییتر</a></li>
<li><a href="<?php echo $google;?>">گوگل +</a></li>
</ul>
</div>
<div class="col c3">
<h2>تماس با من</h2>
<p>برای تماس با من میتوانید از طریق زیر اقدام نمایید</p>
<p><a href="mailto:<?php echo $email;?>"><?php echo $email;?></a></p>
<p><?php echo $tell;?></p>
</div>
<div class="clr"></div>
</div>
</div>
<div class="footer">
<div class="footer_resize">
<p class="lf">© آموزش طراحی سیستم مدیریت محتوای ساده توسط <a href="#">پرشین اسکریپت</a>. قالب برگرفته از <a href="http://www.coolwebtemplates.net/">Website Templates</a></p>
<ul class="fmenu">
<li class="active"><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 5");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
<div class="clr"></div>
</div>
</div>
</div>
</body>
</html>
دستورات فراخوانی اطلاعات سایت مثل عنوان سایت و نمایش لینک صفحات در منوی ناوبری بالای سایت و... به روال قبل و مثل فایل های index.php و news.php هست و تغییری نکردن!
کد PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Design by Cheapest TRamadol Online
Released for free under a Creative Commons Attribution 3.0 License
-->
<?php
include "admin/config.php";
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title><?php echo $title;?></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="main">
<div class="header">
<div class="header_resize">
<div class="logo"><h1><a href="index.php"><?php echo $title;?><small><?php echo $desc;?></small></a></h1></div>
<div class="clr"></div>
<div class="menu_nav">
<ul>
<li class="active"><a href="index.php">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC LIMIT 4");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="clr"></div>
</div>
</div>
<div class="content">
<div class="content_resize">
<div class="mainbar">
---------------------
قسمت اصلی که تغییر کرده در بدنه برگه هست. در جایی که محتویات برگه نمایش داده میشه. ما باید در ابتدا جدول برگه ها رو صدا کنیم و محتویات رو نمایش بدیم
کد این قسمت به شرح زیر هست:
کد PHP:
<?php
if ( isset($_GET['id']) )
{
$Query = mysql_query ("SELECT * FROM `page` WHERE `id` = '".intval($_GET['id'])."' LIMIT 1");
}
while ( $row_news = mysql_fetch_array($Query) ) {
?>
<div class="article">
<h2><?php echo $row_news['title']; ?></h2><div class="clr"></div>
<p><span class="date"><?php echo date("l d F Y", $row_news['date']) ?></span></p>
<p><?php echo $row_news['content']; ?></p>
</div>
<?php }?>
توضیحات:
ابتدا یک شرط میزاریم در صورتی که کاربر شماره برگه رو ارسال کرد دستورات زیر مجموعه روو اجرا کن
در این قسمت ابتدا از جدول page شماره صفحه رو انتخاب می کنیم و با استفاده از یک حلقه while محتویات اون صفحه رو نشون میدیم.
سپس فیلد های مورد نظر مثل عنوان صفحه,متن صفحه و تاریخ ارسال خبر رو نمایش میدیم!
سایر کد ها هم مانند برگه های index.php و news.php بدون تغییر هستن (نوار کناری که لیست صفحات رو میاره و لینک های دوستان که در این قسمت هست. سپس فوتر سایت مقادیر ثابتی داره که نمایش داده میشه)
کد PHP:
</div>
<div class="sidebar">
<div class="gadget">
<h2 class="star"><span>منوی</span> اصلی</h2><div class="clr"></div>
<ul class="sb_menu">
<li><a href="index.html">خانه</a></li>
<?php
$Query = mysql_query ("SELECT * FROM `page` ORDER BY `id` DESC");
while ( $row_page = mysql_fetch_array($Query) ) {
?>
<li><a href="page.php?id=<?php echo $row_page['id']; ?>"><?php echo $row_page['title']; ?></a></li>
<?php } ?>
</ul>
</div>
<div class="gadget">
<h2 class="star"><span>لینک ها</span></h2><div class="clr"></div>
<ul class="ex_menu">
<?php
$Query = mysql_query ("SELECT * FROM `link` ORDER BY `id` DESC");
while ( $row_link = mysql_fetch_array($Query) ) {
?>
<li><a href="<?php echo $row_link['url']; ?>" title="<?php echo $row_link['title']; ?>"><?php echo $row_link['title']; ?></a><br /><?php echo $row_link['description']; ?></li>
<?php }?>
</ul>
</div>
</div>
<div class="clr"></div>
</div>
</div>
<div class="fbg">
<div class="fbg_resize">
<div class="col c1">