實例(Smarty+FCKeditor新聞系統)

轉:http://www.jb51.net/article/5852.htm

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<?php
require('./global.php');
require('./smarty/libs/Smarty.class.php');
require('./mysql.php');
require('./FCKeditor/fckeditor.php');
$action=$_REQUEST['action'];
//定義一個函數用於調用FCK
function editor($input_name, $input_value)
{
global $smarty;
$editor = new FCKeditor($input_name) ;
$editor->BasePath = "./FCKeditor/";//指定編輯器路徑

$editor->ToolbarSet = "Default";//編輯器工具欄有Basic(基本工具),Default(所有工具)選擇
$editor->Width = "100%";
$editor->Height = "320";
$editor->Value = $input_value;
$editor->Config['AutoDetectLanguage'] = true ;
$editor->Config['DefaultLanguage'] = 'en' ;//語言
$FCKeditor = $editor->CreateHtml();

$smarty->assign("editor", $FCKeditor);//指定區域
}

switch ($action){

case 'addnewsview':

$smarty= new Smarty();
$smarty->template_dir = './template';
$smarty->compile_dir = './smarty/templates_c';
$smarty->assign('page_title','新建新聞');
$smarty->assign('actionvalue','addnews');
editor('content','');//調用編輯器,並定義文本域名爲content(與下面addnews中的$_REQUEST['content']對應
$smarty->display('addnews.htm');
break;

case 'addnews':
$title=$_REQUEST['title'];
$content=$_REQUEST['content'];
$db=new mysql();
$button=$_REQUEST['Submit'];

if(empty($title) || empty($content)){
echo "請填寫完成!<META HTTP-EQUIV=/"Refresh/" CONTENT=/"1; URL=./index.php?action=addnewsview/">";
}else{
$sql="insert into news values(id,'admin','$title','$content',NOW())";
$db->query_exec($sql);
echo "操作成功!<META HTTP-EQUIV=/"Refresh/" CONTENT=/"1; URL=./index.php/">";
}
break;

case 'editnewsview':
$smarty= new Smarty();
$smarty->template_dir = './template';
$smarty->compile_dir = './smarty/templates_c';
$smarty->assign('page_title','修改新聞');
$smarty->assign('actionvalue','addnews');
$id=$_REQUEST['id'];

$query="select * from news where id=$id";
$db=new mysql();
$result = $db->query_exec($query);
$rs = $result-> fetch_assoc();

$smarty->assign('title',$rs['title']);
//$smarty->assign('content',$rs['content']);
$smarty->assign('actionvalue','editnews');
$smarty->assign('id',$rs['id']);
editor('content',$rs['content']);
$smarty->display('addnews.htm');
break;

case 'editnews':
$title=$_REQUEST['title'];
$content=$_REQUEST['content'];
$id=$_REQUEST['id'];

$button=$_REQUEST['Submit'];
$db=new mysql();
if ($button=='提交'){
$sql="update news set title='$title',content='$content',date=NOW() where id=$id";
$db->query_exec($sql);
echo "操作成功!<META HTTP-EQUIV=/"Refresh/" CONTENT=/"1; URL=./index.php/">";
}
break;

case 'delnews':
$db=new mysql();
if ($checkbox!="" or count($checkbox)!=0) {
for ($i=0;$i<count($checkbox);$i++){
$db->query_exec("delete from news where id='$checkbox[$i]'");
}
}
echo "操作成功!<META HTTP-EQUIV=/"Refresh/" CONTENT=/"1; URL=./index.php/">";
break;

default:
$smarty= new Smarty();
$smarty->template_dir = './template';
$smarty->compile_dir = './smarty/templates_c';
$smarty->assign('page_title','新聞管理');
$smarty->assign('actionvalue','delnews');

$query="select * from news";
$db=new mysql();
$result = $db->query_exec($query);

while ($rs = $result-> fetch_assoc()) {
$array[]= array("id"=>$rs['id'], "title"=>$rs['title'],"date"=>$rs['date']);
$smarty->assign('news',$array);
}

$smarty->display('index.htm');

}
?>

以下是模板文件index.htm的內容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>{$page_title}</title>

</head>

<body>
<p class="style1">新聞管理</p>
<hr>
<table width="771" height="115" border="0">
<tr>
<td height="62"><div align="center">系統管理</div></td>
<td width="666" rowspan="2"><form name="form1" method="post" action="">
<table width="543" border="0">
<tr>
<td width="253">標題</td>
<td width="230">日期</td>
<td width="46">選擇</td>
</tr>
{section name=news loop=$news}
<tr>
<td><a href="./index.php?action=editnewsview&id={$news[news].id}">{$news[news].title}</a></td>
<td>{$news[news].date}</td>
<td><input name="checkbox[]" type="checkbox" id="checkbox[]" value="{$news[news].id}"></td>
</tr>
{/section}
</table>
<p>
<input type="submit" name="Submit" value="刪除">
<input name="action" type="hidden" id="action" value="{$actionvalue}">
</p>
</form> </td>
</tr>
<tr>
<td width="95" height="47"><div align="center"><a href="./index.php?action=addnewsview">添加新聞</a></div>< /td>
</tr>
</table>
<p class="style1"> </p>
</body>
</html>

以下是添加新聞的模板文件addnews.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="./css/a.css" rel="stylesheet" type="text/css">
<title>{$page_title}</title>
</head>

<body>
<p class="style1">新聞管理登陸 </p>
<hr>
<table width="771" height="501" border="0">
<tr>
<td height="62"><div align="center">系統管理</div></td>
<td width="666" rowspan="2"><form name="form1" method="post" action="index.php">
<p>標題
<input name="title" type="text" id="title" value="{$title}">
</p>
<p>內容:</p>
<p>{$editor}</p>
<p>
<input type="submit" name="Submit" value="提交">
<input type="hidden" name='action' value={$actionvalue}>
<input name="id" type="hidden" value="{$id}">
</p>
</form>

</td>
</tr>
<tr>
<td width="95" height="433"><div align="center">添加新聞</div></td>
</tr>
</table>
</body>
</html>

注:數據庫已經在附件裏面,先新建一個名爲new的數據庫,再把表導入
本系統用戶名:admin 密碼:admin
打包下載
下載此文件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章