smarty与php实现新闻管理的代码(一)

本文介绍了一个使用PHP实现的简单新闻管理系统,该系统集成了新闻的添加、编辑、删除等功能,并利用了Smarty模板引擎和FCKeditor富文本编辑器来增强用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

index.php文件

<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');
 
}
?>

indedx.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">&nbsp;</p>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值