Code Igniter Framework 实例 ( 最简单的BLOG )
时间:2006-09-06
来源:互联网
http://www.codeigniter.com/
现在偶正在翻译它的文档
http://www.phzzy.org/manual/codeigniter/toc.html
有兴趣的朋友加偶QQ一起翻译哈
原来是用 ZF 的,但因为不支持 PHP4,所以放弃了,寒
过几天我自己那破站换BLOG程序时再把演示放上来
下载地址:
http://www.phzzy.org/up/codeigniter/blog_example.zip
或附件
懒得写注释了,都用很明显的英文命名了。呵
除开下面控制器部分,其余的都是视图部分的代码,简单的HTML和一点点PHP循环
控制器代码
PHP代码:
<?php
class Blog extends Controller
{
// construction
function Blog()
{
parent::Controller();
$this->load->helper('url');
$this->load->helper('date');
$this->load->script('ubb');
}
// public functions
function index()
{
$this->viewtopic();
}
function viewtopic()
{
$topic_list = $this->_topic_list();
$data['body'] = $topic_list;
$this->load->view('main' , $data);
}
function viewblog()
{
$blog = $this->_show_blog();
$comment_list = $this->_show_comment_list();
$comment_form = $this->_show_comment_form();
$data['body'] = $blog . "\n\n" . $comment_list . "\n\n" . $comment_form;
$this->load->view('main' , $data);
}
function comment()
{
$blog_id = $_POST['blog_id'] + 0;
if( $blog_id <= 0 )
{
show_error('Error');
}
switch($this->uri->segment(3))
{
case 'insert':
$this->_comment_insert();
break;
case 'delete':
//do delete the comment
break;
case 'edit':
//do edit the comment
break;
default:
redirect(base_url());
break;
}
}
// private functions
function _topic_list()
{
$catalog_id = $this->uri->segment(3) + 0;
if( $catalog_id < 0 )
{
redirect();
}
$sql_add = '';
if( $catalog_id > 0 )
{
$sql_add = ' WHERE b.`catalog_id` = ' . $catalog_id;
}
$topic['title'] = 'My Blog';
$sql = "SELECT b.* , c.`name` as `catalog_name` FROM `blogs` AS `b` LEFT JOIN `catalogs` AS `c` ON c.`id` = b.`catalog_id`{$sql_add} ORDER BY `id` DESC";
$topic['blog_array'] = $this->db->query($sql);
return $this->load->view('viewtopic' , $topic , true);
}
function _show_blog()
{
$blog_id = $this->uri->segment(3) + 0;
if( $blog_id <= 0 )
{
redirect();
}
$sql = "SELECT b.* , c.`name` as `catalog_name` FROM `blogs` AS `b` LEFT JOIN `catalogs` AS `c` ON c.`id` = b.`catalog_id` WHERE b.`id` = {$blog_id} LIMIT 1";
$topic['blog_array'] = $this->db->query($sql);
return $this->load->view('viewblog' , $topic , true);
}
function _show_comment_list()
{
$blog_id = $this->uri->segment(3) + 0;
if( $blog_id <= 0 )
{
redirect();
}
$sql = "SELECT * FROM `comments` WHERE `blog_id` = {$blog_id} ORDER BY `id` DESC";
$comment['comment_array'] = $this->db->query($sql);
return $this->load->view('comment_list' , $comment , true);
}
function _show_comment_form()
{
$this->load->helper('form');
return $this->load->view('comment_form' , '' , true);
}
function _comment_insert()
{
$blog_id = $_POST['blog_id'];
$username = $_POST['username'];
$comment = $_POST['comment'];
$time = now();
if(empty($comment) || empty($username))
{
show_error('Some field is blank!<br />Please <a href="javascript:history.back();">return</a>..');
}
$sql = "INSERT INTO `comments` (`blog_id` , `username` , `comment` , `time`) VALUES({$blog_id} , '{$username}' , '{$comment}' , {$time})";
$this->db->query($sql);
$sql = "UPDATE `blogs` SET `comment_times` = `comment_times` + 1 WHERE `id` = {$blog_id} LIMIT 1";
$this->db->query($sql);
redirect('blog/viewblog/' . $blog_id);
}
}
?>
CI也自带了一个不安全的后台:)
地址
index.php/catalog/db/
index.php/dbblog/db/
我只建了两个表的管理,没建 comment 表的
[ 本帖最后由 Phzzy 于 2006-9-6 15:06 编辑 ]
作者: Phzzy 发布时间: 2006-09-06
作者: EastSon 发布时间: 2006-09-06
好
顶你
作者: szy_session1987 发布时间: 2006-09-06
Ou zhengzai zengqiang ta de kaifa huanjing...
http://my.opera.com/yarco/blog/show.dml/448530
作者: fengyun 发布时间: 2006-09-07
引用:
原帖由 yarco4 于 2006-9-7 10:45 发表Yum... zai CodeIgniter luntan li he wo da zhaohu d, nandao jiu shi LZ?
Ou zhengzai zengqiang ta de kaifa huanjing...
http://my.opera.com/yarco/blog/show.dml/448530
:):D
[ 本帖最后由 Phzzy 于 2006-9-7 13:21 编辑 ]
作者: yarco4 发布时间: 2006-09-07
作者: Phzzy 发布时间: 2006-09-09
作者: 帅的不能再输啦 发布时间: 2006-09-11
作者: kevinchenkai 发布时间: 2008-02-18
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28