• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

CodeIgniter 入门教程第一篇:信息发布

php 搞代码 4年前 (2022-01-23) 33次浏览 已收录 0个评论

一、MVC

CodeIgniter 采用MVC架构即:控制层、模型层和视图层。

对应Application下面的文件夹 (图1):

所有新建文件以.php结尾

视图层 view 文件夹放入HTML模板

模型层 model 存放对数据库操作的代码

控制层 controllers 存放进行逻辑判断的代码,从模型层取得数据然后输入到视图层,发送给用户。

图1

功能:

1. 模板增加输入表单

2. 控制器增加接收表单数据的代码,并对用户输入进行简单校验。

3. 在表单上方输出标题和正文,以及发布时间。

用到的知识点:CI helper类(url) 和 输入类(input),

以及CI ActiveRecord 和向模板传值。

二、初始配置

1. 链接数据库

修改数据库配置:/application/config/database.php

  'hostname' => 'localhost',    'username' => 'root',    'password' => '',    'database' => 'test',    'dbdriver' => 'mysqli',    'dbprefix' => 'ts_',

2. 修改默认路由

CI框架采用单文件入口的方式,默认必须通过index.php来访问控制层。比如controllers文件夹下有个名为test的class类,test有个叫home的function,

则访问URL为:http://www.example.com/index.php/test/home

三、输出页面

1. 直接输出HTML模板

新建两个文件分别位于controllers文件夹和views文件夹

Test.php

<?phpdefined('BASEPATH') OR exit('No direct script access allowed');class Test extends CI_Controller {    public function home()    {        $this->load->view('home');    }}home.php<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>    <meta charset="UTF-8">    <title>Home</title><body>    <h1>这是我们的主页</h1>

在浏览器打开类似如下地址:http://test.com/index.php/test/home

2. 插入数据库条目

创建数据库表ts_news

Test.php

<?phpdefined('BASEPATH') OR exit('No direct script access allowed');class Test extends CI_Controller {public function __construct(){parent::__construct();$this->load->helper('url');$this->load->model('news_model');}public function home(){$this->loa<mark style="color:transparent">来4源gaodaimacom搞#代%码*网</mark><code>搞代gaodaima码</code>d->view('home');}public function add_news(){$title = $this->input->get('title',TRUE);$content = $this->input->get('content');if ( (strlen($title) < 20 ) or (strlen($content)  '','title' => $title,'content' => $content,'update_time' => time(),'create_time' => time());$check = $this->news_model->insert($arr,'news');if ($check){redirect('test/home');}else{echo '提交失败';}}}home.php<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?><meta charset="UTF-8"><title>Home</title><body><h1>这是我们的主页</h1><hr>"><label for="title">标题</label><br><label for="content">正文</label><textarea name="content" cols="30" rows="10"></textarea><br>News_model.php<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');class News_model extends CI_Model {public function __construct()    {        parent::__construct();        $this->load->database();    }public function insert($arr,$table){$this->db->insert($table, $arr);        if ($this->db->affected_rows() > 0)        {            return $this->db->insert_id();        }        else        {            return FALSE;        }}}412ded80-4884-4a2f-ae37-6ba69cdc4278493498ee-0f5c-4676-9cec-38e5a3f3e6fd    3. 查询数据库并输出    News_model.php增加public function get_all($table)    {        $this->db->select('*');        $query = $this->db->get($table);        $query = $query->result_array();        return $query;    }Test.php 的 home修改为:public function home()    {        $news = $this->news_model->get_all('news');        $data['news'] = $news;        $this->load->view('home',$data);    }

  Home模板的body修改为:

<body><h1>这是我们的主页</h1><?php foreach ($news as $key => $value) {echo '<div><h3>'.$value['title'].'</h3><span>发布时间:'.date('Y-m-d H:i:s',$value['create_time']).'</span><p>'.$value['content'].'</p></div>';}?><hr>"><label for="title">标题</label><br><label for="content">正文</label><textarea name="content" cols="30" rows="10"></textarea><br>

刷新查看效果:

以上就介绍了CodeIgniter 入门教程第一篇:信息发布,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:CodeIgniter 入门教程第一篇:信息发布

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址