codeigniter 入门项目

本文介绍如何使用CodeIgniter构建一个简单的Web站点,包括创建数据库表和模型、初始化控制器、创建视图、完成应用程序并添加安全性。通过实例展示了CodeIgniter的基本用法,如模型、视图、控制器的创建以及数据处理和用户输入的安全性。

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

现在,您已经安装和配置了 CodeIgniter,接下来即可构建项目,这项工作至少要占用一个小时的时间。

这一次,我们不会构建 Hello World 应用程序,而是使用 CodeIgniter 创建一个简单的 Web 站点。该站点将有一个主页,显示一些宣传文本和一个表单,该表单将发布到数据库表中。无需为其外观费心 — 只需关注对应用程序有用的部分即可。换句话说,让美工去关心外观 — 您只要确保一切可以正常工作、迅速完成即可。

按照 CodeIgniter 的术语,可将这些需求转换为以下内容:

1: 一个控制器,仅包含少数功能(可使用默认的 Welcome 控制器)
2: 一个模型(以及一个数据库表),用于存储联系人信息
3: 一个主视图,包含一些支持

创建数据库表和模型

从模型入手可帮助您理解底层数据库表,之后再开始布设功能和 UI。如果对表将存储哪些内容认识不深,设计与表交互的表单将十分困难。

对于这个示例应用程序而言,您希望存储的是来自表单的联系人信息。那么需要的是哪些类型的联系人信息?目前而言,仅存储基本信息,要求提供姓名、电子邮件地址、电话号码和简短备注。您还可能希望在后台存储时间戳和 IP 地址。

MySQL 表应如下所示:

create table `contacts`(
    `id` int(11) NOT NULL auto_increment,
    `name`  varchar(128) NOT NULL,
    `email` varchar(128) NOT NULL,
    `notes` text NOT NULL,
    `stamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
    `ipaddress` varchar(32) NOT NULL,
    PRIMARY KEY (`id`)
)ENGINE=INNODB;

现在我们已经有了表,接下来将创建第一个模型。在 system/application/models 文件夹内,创建一个 mcontacts.php 文件。为什么要将其命名为 mcontacts?这是一种速记形式 — 文件名中在模型名前加一个 m 可帮助您记住文件的组织方式,而不必使用更长的前缀或后缀,如 model_ 等。

所有模型都采用相同的方式构造:

class Mcontacts extends CI_Model{
   
   
    public function __construct(){
   
   
        parent::__construct();
    }
}

请注意,类名与文件名匹配,必须为类提供一个构造函数。换句话说,一个模型就是一个 PHP 类。这也就意味着模型中的所有函数实际上都是该类的一个方法。

理解这一点之后,很快就能领悟到,需要具备一个函数,将数据安全地插入联系人数据库表中。提供此功能的函数如下:

 class Mcontacts extends CI_Model{
   
   
    public function __construct(){
   
   
        parent::__construct();
    }

    public function addContacts(){
   
   
        date_default_timezone_set('PRC');
        $now=date("Y-m-d H:i:s");
        $data=array(
            'name'=>$this->security->xss_clean($this->input->post('name')),
            'email'=>$this->security->xss_clean($this->input->post('email')),
            'notes'=>$this->security->xss_clean($this->input->post('notes')),
            'ipaddress'=>$this->input->ip_address(),
            'stamp'=>$now
        );
        $this->db->insert('contacts',$data);
    }   
 }

注意,您获取了 POST 数组的输出、整理并将其存储在名为 contacts 的数据库表中。在此过程中,您使用了多个帮助程序来简化工作。

例如, this>security>xssclean<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值