بخش نهم: ایجاد و ارسال صفحه جدید
بخش ارسال صفحه (addpage.php) دقیقا شبیه به فایل addnews.php هست! و هیچ تفاوتی نداره. تنها تفاوت اون, وارد کردن (insert) کردن اطلاعات درون جدول صفحات (pages) هست! همین
سورس کامل صفحه Addpage.php به شرح زیر هست...
کد PHP:
<?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">
<!-- jQuery and jQuery UI -->
<script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script>
<script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8">
<!-- elRTE -->
<script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script>
<link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8">
<!-- elRTE translation messages -->
<script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
$().ready(function() {
var opts = {
cssClass : 'el-rte',
lang : 'fa',
height : 300,
toolbar : 'normal',
cssfiles : ['elrte-1.2/css/elrte-inner.css']
}
$('#editor').elrte(opts);
})
$().ready(function() {
var opts = {
cssClass : 'el-rte',
lang : 'fa',
height : 300,
toolbar : 'normal',
cssfiles : ['elrte-1.2/css/elrte-inner.css']
}
$('#more').elrte(opts);
})
</script>
</head>
<body>
<?php
if ( isset($_POST['go']) && ($_POST['go'] == "add") )
{
include "config.php";
$add = mysql_query ("INSERT INTO `page` VALUES ('', '".$_POST['pagetitle']."', '".$_POST['pagecontent']."', '".mktime()."')");
if ( $add )
{
$status = '<div class="ok">صفحه جدید با موفقیت ثبت شد</div>';
}
else { $status = '<div class="error">متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید</div>'; }
}
elseif ( isset($_POST['go']) && ($_POST['go'] == "edit") )
{
include "config.php";
$edit = mysql_query ("UPDATE `page` SET `title` = '".$_POST['pagetitle']."', `content` = '".$_POST['pagecontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
if ( $edit )
{
$status = '<div class="ok">تغییرات با موفقیت اعمال شدند.</div>';
}
else { $status = '<div class="error">متاسفانه مشکلی در ثبت تغییرات وجود دارد</div>'; }
}
if ( isset($_GET['editpage']) && ($_GET['editpage'] !== "") )
{
include "config.php";
$Query = mysql_query("SELECT * FROM `page` WHERE `id` = '".intval($_GET['editpage'])."' LIMIT 1");
$row_page = mysql_fetch_array($Query);
}
?>
<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"); } ?>
زیاد توضیح نمیدم! چون قبلا این مراحل رو رفتیم...
--------------
کد های بررسی ورود مدیر:
کد PHP:
<?php
session_start();
if ( isset($_SESSION['user']) ) {
if ( (isset($_GET['logout'])) && ($_GET['logout'] == "true") )
{
unset ($_SESSION['user']);
header ("Location: index.php");
}
?>
لایه جلسه که در ابتدای تمامی بخش های مدیریت هست که بررسی می کنه مدیر وارد شده یا نه...
--------------
کد های HTML سربرگ (header)
کد 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"> <!-- jQuery and jQuery UI --> <script src="elrte-1.2/js/jquery-1.4.4.min.js" type="text/javascript" charset="utf-8"></script> <script src="elrte-1.2/js/jquery-ui-1.8.7.custom.min.js" type="text/javascript" charset="utf-8"></script> <link rel="stylesheet" href="elrte-1.2/css/smoothness/jquery-ui-1.8.7.custom.css" type="text/css" media="screen" charset="utf-8"> <!-- elRTE --> <script src="elrte-1.2/js/elrte.min.js" type="text/javascript" charset="utf-8"></script> <link rel="stylesheet" href="elrte-1.2/css/elrte.min.css" type="text/css" media="screen" charset="utf-8"> <!-- elRTE translation messages --> <script src="elrte-1.2/js/i18n/elrte.fa.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" charset="utf-8"> $().ready(function() { var opts = { cssClass : 'el-rte', lang : 'fa', height : 300, toolbar : 'normal', cssfiles : ['elrte-1.2/css/elrte-inner.css'] } $('#editor').elrte(opts); }) $().ready(function() { var opts = { cssClass : 'el-rte', lang : 'fa', height : 300, toolbar : 'normal', cssfiles : ['elrte-1.2/css/elrte-inner.css'] } $('#more').elrte(opts); }) </script> </head>
کد های قالب که html هست و همچنین کد های ادیتور پیشرفته ...
-------------------
کد ها و دستورات شرطی:
کد PHP:
<?php
if ( isset($_POST['go']) && ($_POST['go'] == "add") )
{
include "config.php";
$add = mysql_query ("INSERT INTO `page` VALUES ('', '".$_POST['pagetitle']."', '".$_POST['pagecontent']."', '".mktime()."')");
if ( $add )
{
$status = '<div class="ok">صفحه جدید با موفقیت ثبت شد</div>';
}
else { $status = '<div class="error">متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید</div>'; }
}
elseif ( isset($_POST['go']) && ($_POST['go'] == "edit") )
{
include "config.php";
$edit = mysql_query ("UPDATE `page` SET `title` = '".$_POST['pagetitle']."', `content` = '".$_POST['pagecontent']."' WHERE `id` = '".$_POST['id']."' LIMIT 1");
if ( $edit )
{
$status = '<div class="ok">تغییرات با موفقیت اعمال شدند.</div>';
}
else { $status = '<div class="error">متاسفانه مشکلی در ثبت تغییرات وجود دارد</div>'; }
}
if ( isset($_GET['editpage']) && ($_GET['editpage'] !== "") )
{
include "config.php";
$Query = mysql_query("SELECT * FROM `page` WHERE `id` = '".intval($_GET['editpage'])."' LIMIT 1");
$row_page = mysql_fetch_array($Query);
}
?>
در اینجا ما باید ورودی داشته باشیم . ورودی رو به وسیله GET میگیریم و به کد ها میگیم چه کار کنن...
در خط اول php شروع میشه
در خط دوم میگیم در صورتی که go ارسال شد و مقدار این go برابر با add بود. مقادیر ورودی رو insert (بریز داخل) جدول اخبار
و بعد میگیم اگه با موفقیت انجام شد جمله ی "صفحه جدید با موفقیت ثبت شد" رو بریز داخل status...
همون طور که میدونید این status قراره چاپ بشه و بگه که آیا صفحه ایجاد شد یا نه...
در صورتی که با موفقیت انجام نشد مقادیر "متاسفانه در ایجاد صفحه مشکلی به وجود آمده است! دوباره سعی کنید" رو بریز داخل status
--
در خط بعدی میگیم. در صورتی که کاربر go رو زده بود! ولی مقدار go برابر با edit بود. مقادیر گرفته شده از فرم رو بروز رسانی کن (update کن)
این قسمت برای ویرایش صفحه هست...
وضعیت رو هم میریزیم داخل status که بعدا به کاربر بگیم که صفحه ویرایش شده یا نه...
در قسمت آخر یک شرط دیگه ای میزاریم برای صدا کردن اون صفحه (برای ویرایش کردن اون صفحه به کار میره)
ادامه در تاپیک بعدی...