实例(Smarty+FCKeditor新闻系统)

以下是主文件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');


?>

以下是模板文件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
打包下载
下载此文件

(0)

相关推荐

  • fckeditor粘贴Word时弹出窗口取消的方法

    本文实例讲述了fckeditor粘贴Word时弹出窗口取消的方法.分享给大家供大家参考.具体方法如下: 用fckeditor作为用户发布的编辑框,允许用户发布Word.默认的情况下,粘取进word时,提示是否清除word样式,选择"是"则弹出一个框,需要再粘贴一次来清除word样式.这个操作很麻烦,因此要取消. 开始找到的方法是把ckeditor/" target="_blank">fckeditoreditorjs下的fckeditorcode_i

  • fckeditor编辑器下的自定义分页符实现方法

    这里我们小编参考了几篇文章特为大家整理下,用到的朋友多支持一下了. 进行长文章分页,编辑人员在控制分页符的时候手工插入很麻烦,所以修改了FCK的插入分页符的插入字符: 修改方法: 打开/editor/js/ 找到fckeditorcode_gecko.js和fckeditorcode_ie.js 因为fck有二个js文件.fckeditorcode_gecko.js是针对非ie的.一个是针对ie的.所以我们需要更改二个js的文件. 这样方便我们以后插入分页时,就不需要那么一大串的了. 找到: v

  • 探讨fckeditor在Php中的配置详解

    前言: FCKeidtor是个国外的多语言编辑器,你可以对其配置文件进行简单修改使之支持目前常用Web开发语言的应用,下面我就讲讲FCKeditor的最新版本2.4.2在php的具体配置过程,有不足和出错的地方,欢迎指正. 精简: 正因为这个编辑器是支持多语言的,所以首先我们针对使用对其做相应的冗余文件删除. 1.临时文件及文件夹删除:从根目录下开始删除一切以"_"开头的文件及文件夹,因为他们为临时文件和文件夹.删除这类临时文件及文件夹之后,我们还要删除一些根目录下的多余文件,根目录下

  • Smarty中调用FCKeditor的方法

    本文实例讲述了Smarty中调用FCKeditor的方法,分享给大家供大家参考.具体实现方法如下: FCKeditor是目前互联网上最好的在线编辑器. smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序 员改变程序的逻辑内容不会影响到美工的页面设计,美工重新修改页面不会影响到程序的程序逻辑,这在多人合作的项目中显的尤为重要. 在Smarty中调用FCKeditor的文件: 复制代码 代码如下: requ

  • FCKeditor smarty 编辑器的应用PHP

    感谢csdn社区 hsboy用户的帖子 原文: 6 楼hsboy(PHP it!)回复于 2006-03-05 18:44:07 得分60 假设 1.你要用fckeditor编辑的内容通过$smarty->assign('content', $content)传递到模板 2.fckeditor编辑器放在当前被调用的php程序所在目录(注意不是模板文件所在的目录)的fckeditor目录下 则模板只需这样写即可: 复制代码 代码如下: <script type="text/javasc

  • FCKeditor + SyntaxHighlighter 让代码高亮着色插件

    FCKeditor是现在最为流行的开源编辑器,SyntaxHighlighter是一个用JS实现的代码高亮显示插件,可以最小化修改您的程序实现效果,最终效果截图: 演示网页: 下载FCKeditor + SyntaxHighlighter插件包:fck_SyntaxHighlighter我们打包版 下面分步介绍如何在FCKeditor环境中使用SyntaxHighlighter. 后台FCKeditor编辑器的修改 1.将包解压后,把 insertcode 文件夹上传到 FCKeditor编辑器

  • 将FCKeditor导入PHP+SMARTY的实现方法

    本文实例讲述了将FCKeditor导入PHP+SMARTY的实现方法.分享给大家供大家参考.具体分析如下: 提取Fckeditor时,采用如下,PHP用$_POST['p_info']得到FCKeditor的值. 补充: 1 .此处basepath 的路径一定要和上面include的路径一样.否则会找不到文件 另外,对于这个输入内容的变量,如果要把它存入数据库教程,它的变量名为你建立对象的名字.例如上面就是 "p_info". 2. 在FCKeditor/_samples/里面有个ph

  • 实例(Smarty+FCKeditor新闻系统)

    以下是主文件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/fck

  • 也谈用JSP实现新郎、sohu新闻系统的技术。

    我这两天刚好完成了这样一个类似的系统,希望和大家探讨探讨jsp实现的技术.  新浪 sohu这样的系统应该是类似的,就是后台动态生成前台的html页面,不管后台用什么工具.  因为公司逼下来,要做这样的新闻系统,没有办法,连着做了两天,总算搞定了,很快就会发布到公司主页上面  当然我只做了一个后台管理的东西,用jsp+javabean来动态生成html文件  我是这样实现的  1.首先要一个写好的htm文件模板,后台用Writer对象来写文件,然后几个需要替换的地方如新闻标题.新闻内容直接根据输

  • 使用PHP制作新闻系统的思路

    我们可以用新闻系统来存储新闻,我们可以对新闻进行添加.删除等操作,这样减少了大家的工作量,为什么不实验一下. 首先,建立一个表. create table news ( n_id int(255) not null auto_increment, n_date datetime not null, news text not null, primary key(n_id) ); 第二步,设置你的登陆信息 $database_user_name="root";              

  • 给万博系统的新闻系统增加分页功能[配有详细说明]

    给万博系统的新闻系统增加分页功能,无需修改数据库,只需改变一个文件,就可以了. 如果将后台的Webediter增加一个插入分页符,那就更完美了.我还没加这个. 本例是在后台录入新闻时,在需要分页的位置插入分页符: {$html_page$} 就可以了. 代码如下,有详细说明 newsshow.asp <!--#include file="siteinfo.asp"--> <HTML> <HEAD> <TITLE><%=sitenam

  • 通过实例了解Nodejs模块系统及require机制

    一.简介 Nodejs 有一个简单的模块加载系统.在 Nodejs 中,文件和模块是一一对应的(每个文件被视为一个独立的模块),这个文件可能是 JavaScript 代码,JSON 或编译过的C/C++ 扩展,例如: /** *foo.js *将这个js文件导出为模块 */ exports.hello = function() { console.log("hello Nodejs!"); } /** *main.js *main.js和foo.js在同一目录下 *在控制台中将会输出:

  • FCKeditor 新闻组件的一些程序漏洞

    1 CurrentFolder 参数,可以在网站中不同目录新建文件夹,参数使用 ../../来篡改参数,进入不同的目录 /browser/default/connectors/aspx/connector.aspx?Command=CreateFolder&Type=Image&CurrentFolder=../../..%2F&NewFolderName=aspx.asp 2 CurrentFolder 参数,根据返回的XML信息可以查看网站所有的目录,比如 "../.

  • PHP实现简单的新闻发布系统实例

    本文实例讲述了PHP实现简单的新闻发布系统.分享给大家供大家参考.具体如下: 本人小白,一直在公司用模板和框架写PHP,发现有时候连基本的sql语句都忘记了,所以有空想把PHP基础复习下,巩固下.分页和搜索,以及排序,还没写,后期继续更新...(代码修改:添加搜索和分页功能) articlePublish.html: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3

  • Smarty结合Ajax实现无刷新留言本实例

    看了标题你也许要说,留言本,很基本的东东啊!谁不会啊,还要用Smarty,这不找累吗?别急,我要表达的是一种编程的思想和结构,而不是证明我做的东西多有意义,通过它相信对初学者学习Smarty和ajax有些启发.原本用ajax做的,可惜始终调试不成功,只好用手写JS来弄了,不过不要紧,还是有一定价值的.站点结构大家下了源代码自己看,代码不长,应该不会看烦^_^,听我慢慢道来.     现在都PHP5了OO(面向对象)很流行了都,这里也不错过,首先来看下我们用OO来实现数据库操作和连接:[php]<

  • 简单的php新闻发布系统教程

    简单的php新闻发布系统教程(第一版)第一讲:用 phpmyadmin 建立数据库首先建立一个数据库,名为 yayu .在这个数据库下建立一个数据表,名为 news .下面进入一个重点,那就是在表 news 下建立各个字段. 那么,什么叫字段呢?通俗点,就是一类事物的总称.比如说,所有的新闻发表时间用一个名词来代表(从偶的经验来看,用 phpmyadmin 建立 字段可以用中文,但从习惯来说还是用英文,没办法,计算机美国最牛嘛).偶们用" time "来表示.在字段 time 下可以有

  • 原生JS实现-星级评分系统的简单实例

    今天我又写了个很酷的实例:星级评分系统(可自定义星星个数.显示信息) sufuStar.star(); 使用默认值5个星星,默认信息 var msg = [........]; sufuStar.star(10,msg); 自定义星星个数为10.显示信息msg格式参考默认值,条数必须和星星个数一致: 自己实现一些实例,有个好处,能增加应用各知识点的熟练度,还能检验出自己的薄弱项!一经发现,立即翻API文档恶补! 不知道是不是我太笨,这个实例居然写了整整一天! 不废话了,先说下这个实例涉及的知识点

随机推荐