Jadual Kandungan
CodeIgniter 入门教程第一篇:信息发布,ci
这是我们的主页
'.$value['title'].'
Rumah php教程 php手册 CodeIgniter 入门教程第一篇:信息发布,ci

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

Jun 13, 2016 am 08:56 AM
bootstrap

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

一、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_',
Salin selepas log masuk

  

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

<?php

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

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>Home</title>

</head>

<body>

    <h1 id="这是我们的主页">这是我们的主页</h1>

</body>

</html>
Salin selepas log masuk

  

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

2. 插入数据库条目

创建数据库表ts_news

Test.php

<?php

defined('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->load->view('home');

}

public function add_news(){

$title = $this->input->get('title',TRUE);

$content = $this->input->get('content');

if ( (strlen($title) < 20 ) or (strlen($content) < 20 ) ){

echo '标题或正文内容过短';

return false;

}

$arr = array(

'id' => '',

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

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Home</title>

</head>

<body>

<h1 id="这是我们的主页">这是我们的主页</h1>

<hr>

<form action="<?php echo site_url('test/add_news'); ?>">

<label for="title">标题</label>

<input type="text" name="title" value="">

<br>

<label for="content">正文</label>

<textarea name="content" id="" cols="30" rows="10"></textarea>

<br>

<input type="submit" value="提交" >

</form>

</body>

</html>

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-6ba69cdc4278

493498ee-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);

    }
Salin selepas log masuk

  Home模板的body修改为:

<body>

<h1 id="这是我们的主页">这是我们的主页</h1>

<?php 

foreach ($news as $key => $value) {

echo '<div>

<h3 id="value-title">'.$value['title'].'</h3>

<span>发布时间:'.date('Y-m-d H:i:s',$value['create_time']).'</span>

<p>'.$value['content'].'</p>

</div>';

}

?>

<hr>

<form action="<?php echo site_url('test/add_news'); ?>">

<label for="title">标题</label>

<input type="text" name="title" value="">

<br>

<label for="content">正文</label>

<textarea name="content" id="" cols="30" rows="10"></textarea>

<br>

<input type="submit" value="提交" >

</form>

</body>
Salin selepas log masuk

  

  

刷新查看效果:

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara mendapatkan bar carian bootstrap Cara mendapatkan bar carian bootstrap Apr 07, 2025 pm 03:33 PM

Cara menggunakan Bootstrap untuk mendapatkan nilai bar carian: Menentukan ID atau nama bar carian. Gunakan JavaScript untuk mendapatkan elemen DOM. Mendapat nilai elemen. Lakukan tindakan yang diperlukan.

Cara menggunakan bootstrap di vue Cara menggunakan bootstrap di vue Apr 07, 2025 pm 11:33 PM

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Cara Menulis Garis Pecah Di Bootstrap Cara Menulis Garis Pecah Di Bootstrap Apr 07, 2025 pm 03:12 PM

Terdapat dua cara untuk membuat garis perpecahan bootstrap: menggunakan tag, yang mewujudkan garis perpecahan mendatar. Gunakan harta sempadan CSS untuk membuat garis perpecahan gaya tersuai.

Cara melakukan pusat menegak bootstrap Cara melakukan pusat menegak bootstrap Apr 07, 2025 pm 03:21 PM

Gunakan Bootstrap untuk melaksanakan pusat menegak: Kaedah Flexbox: Gunakan kelas D-Flex, Justify-Content, dan Align-Item-Center untuk meletakkan unsur-unsur dalam bekas Flexbox. Kaedah Kelas Align-Items-Center: Bagi pelayar yang tidak menyokong Flexbox, gunakan kelas Align-Items-Center, dengan syarat unsur induk mempunyai ketinggian yang ditetapkan.

Cara mengubah saiz bootstrap Cara mengubah saiz bootstrap Apr 07, 2025 pm 03:18 PM

Untuk menyesuaikan saiz unsur-unsur dalam bootstrap, anda boleh menggunakan kelas dimensi, yang termasuk: menyesuaikan lebar: .col-, .w-, .mw-adjust ketinggian: .h-, .min-h-, .max-h-

Cara Menyiapkan Kerangka untuk Bootstrap Cara Menyiapkan Kerangka untuk Bootstrap Apr 07, 2025 pm 03:27 PM

Untuk menubuhkan rangka kerja bootstrap, anda perlu mengikuti langkah -langkah ini: 1. Rujuk fail bootstrap melalui CDN; 2. Muat turun dan tuan rumah fail pada pelayan anda sendiri; 3. Sertakan fail bootstrap di HTML; 4. Menyusun sass/kurang seperti yang diperlukan; 5. Import fail tersuai (pilihan). Setelah persediaan selesai, anda boleh menggunakan sistem grid Bootstrap, komponen, dan gaya untuk membuat laman web dan aplikasi yang responsif.

Cara memasukkan gambar di bootstrap Cara memasukkan gambar di bootstrap Apr 07, 2025 pm 03:30 PM

Terdapat beberapa cara untuk memasukkan imej dalam bootstrap: masukkan imej secara langsung, menggunakan tag HTML IMG. Dengan komponen imej bootstrap, anda boleh memberikan imej yang responsif dan lebih banyak gaya. Tetapkan saiz imej, gunakan kelas IMG-cecair untuk membuat imej boleh disesuaikan. Tetapkan sempadan, menggunakan kelas IMG-Sempadan. Tetapkan sudut bulat dan gunakan kelas IMG-bulat. Tetapkan bayangan, gunakan kelas bayangan. Saiz semula dan letakkan imej, menggunakan gaya CSS. Menggunakan imej latar belakang, gunakan harta CSS imej latar belakang.

Apa yang Perlu Dilakukan Sekiranya Jadual Bootstrap Menggunakan Ajax untuk mendapatkan data yang dihiasi Apa yang Perlu Dilakukan Sekiranya Jadual Bootstrap Menggunakan Ajax untuk mendapatkan data yang dihiasi Apr 07, 2025 am 11:54 AM

Penyelesaian ke Jadual Bootstrap Kod Garbled Apabila menggunakan AJAX untuk mendapatkan data dari pelayan: 1. Tetapkan pengekodan aksara yang betul dari kod pelayan (seperti UTF-8). 2. Tetapkan tajuk Permintaan dalam permintaan AJAX dan tentukan pengekodan aksara yang diterima (terima-charset). 3. Gunakan penukar "Unescape" jadual bootstrap untuk menyahkod entiti HTML yang melarikan diri ke dalam aksara asal.

See all articles