CI框架学习笔记

一、CI版本

开发版本3.1.2   下载地址:https://github.com/bcit-ci/CodeIgniter/archive/3.1.2.zip

二、开发步骤

1、解压文件到www/ci 目录下

2、创建数据库 myci  后建表 user

CREATE TABLE `user` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`uname` varchar(20) DEFAULT NULL,
`age` int(2) DEFAULT NULL,
`product` varchar(200) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=gbk;

  3、修改数据库配置文件 ci\application\config\database.php

  

$db[‘default‘] = array(
	‘dsn‘	=> ‘‘,
	‘hostname‘ => ‘localhost‘,
	‘username‘ => ‘root‘,
	‘password‘ => ‘root‘,
	‘database‘ => ‘myci‘,
	‘dbdriver‘ => ‘mysqli‘,

  4、修改routes.php 下的初始路径

  $route[‘default_controller‘] = ‘index1‘;

  5、model文件下创建 M_user.php

<?php
defined(‘BASEPATH‘) OR exit(‘No direct script access allowed‘);

class M_user extends CI_Model {

	public function insert(){

		$data=array(
		‘uname‘=>$this->input->post(‘username‘),
		‘age‘=>$this->input->post(‘age‘),
		‘product‘=>$this->input->post(‘product‘)
		);
		$this->db->insert(‘user‘, $data);
        return $this->db->insert_id();
	}
}

  6、controllers 下有两个文件  Index1.php  和 Add.php

Index1.php内容如下

<?php
defined(‘BASEPATH‘) OR exit(‘No direct script access allowed‘);

class Index1 extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it‘s displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see https://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		$data = array(
			‘title‘=>‘我的标题‘,
			‘message‘=>‘这里是我的内容‘

		);
		$this->load->view(‘index‘,$data);
	}
}

  Add.php内容如下

<?php
defined(‘BASEPATH‘) OR exit(‘No direct script access allowed‘);

class Add extends CI_Controller {

    function __construct() {
        parent::__construct();
		$this->load->model(‘M_user‘);
		//$this->load->database();
    }

	public function insert(){

		if ($this->M_user->insert() > 0)
				{
					echo "<script>alert(‘增加成功‘);window.history.back(-1);</script>";

				}
				else
				{
					echo "no";
				}

	}
}

  7、view 文件夹下创建文件 index.php

  

<html>
<body>

<div id="container">
	<?php
	echo $message;
	?>
	<form name="myform" action="index.php/Add/insert" method="post">
姓名:<input type="text" name="username" width="200px"><p>
年龄:<input type="text" name="age" width="200px"><p>
备注:<input type="text" name="product" width="200px"><p>
<input type="submit" value="提交">
</form>
</body>
</html>

  到此,全部完成,可将数据写入数据库,一个简单的增功能就完成了。

时间: 2024-12-14 18:41:02

CI框架学习笔记的相关文章

后盾网-CI框架学习笔记

CI框架: 表单验证: 载入验证类 $this->load->library('form_validation'); 设置规则 $this->form_validation->set_rules('name值','规则'); 执行验证 $this->form_validation->run() 表单验证辅助函数: $this->load->helper('form'); 1. set_value('name') //重填数据 2. form_error('n

CI框架学习笔记4——Benchmark.php

我们回到Codeigniter.php上继续往下看,第一个引入的类文件是Benchmark.php,这个文件主要是提供基准测试,具体使用方法参考手册http://codeigniter.org.cn/user_guide/libraries/benchmark.html.建议小伙伴们都读一读手册,弄懂功能的使用后,再来分析代码,才会事半功倍.不多说了,下面进入正题. 测试类定义了一个数组变量public $marker = array(),他的目的主要是用来记录我们在文件中添加的测试点. pub

CI框架学习笔记3——Log.php

上一节说完了Common.php,然而跟代码打交道总是免不了日志记录,所以这一节我们说说Log.php文件. 先看看类里面的几个属性, protected $_log_path;  日志路径 protected $_file_permissions = 0644; 文件权限 protected $_threshold = 1;  日志的等级,用来判断出现的错误异常什么的是否需要记录 protected $_threshold_array = array(); protected $_date_f

PHP CI框架学习笔记-分页实现程序

视图html <div id="body">   <form action="/index.php/search/index/" method="get">       <p>请输入书名.作者.出版社中的一个或多个来查询.</p>       <p><input type="text" name="s" value="" 

CI框架学习(1)-框架介绍控制器建立与访问

前言:入行算3年了,专职开始敲代码也有1年半的时间.技术底子一直很差,现在依然在菜鸟级别,上班都是无用功的忙碌很少思考终结,导致代码敲了就忘没有积累.工作期间大致使用过3个框架ecshop.ThinkPhP.CI,都是皮毛不深入,代码管理的也都很混乱.基于现在手上的项目是用CI框架,就决定系统学习下此框架,打下基础方便于以后对项目的管理. 学习形势:看视频 + 笔记(仅记录重点或不知道的知识)    视频地址(CI框架学习(1)-框架介绍控制器建立与访问) [重点1]CI框架的目录结构 appl

windows下scrapy框架学习笔记—&#39;scrapy&#39; 不是内部或外部命令

最近几天在深入的学习scrapy框架,但是装完各种需要的基础包之后却发现scrapy命令在别的路径下都用不了,我一开始是把python安装在F:\Python路径下的,安装了scrapy后它默认都会安装在这个路径下,scrapy在路径F:\Python\Scripts路径下,我的scrapy命令只能在此路径下用,因此创建什么工程也都只能在此文件下. 想了一下它的工作原理:它在F:\Python\Scripts路径下,就会在Scripts文件下存在一个scrapy批处理文件,那么在DOS下想要命令

JavaSE中线程与并行API框架学习笔记——线程为什么会不安全?

前言:休整一个多月之后,终于开始投简历了.这段时间休息了一阵子,又病了几天,真正用来复习准备的时间其实并不多.说实话,心里不是非常有底气. 这可能是学生时代遗留的思维惯性--总想着做好万全准备才去做事.当然,在学校里考试之前当然要把所有内容学一遍和复习一遍.但是,到了社会里做事,很多时候都是边做边学.应聘如此,工作如此,很多的挑战都是如此.没办法,硬着头皮上吧. 3.5 线程的分组管理 在实际的开发过程当中,可能会有多个线程同时存在,这对批量处理有了需求.这就有点像用迅雷下载电视剧,假设你在同时

JavaSE中Collection集合框架学习笔记(2)——拒绝重复内容的Set和支持队列操作的Queue

前言:俗话说“金三银四铜五”,不知道我要在这段时间找工作会不会很艰难.不管了,工作三年之后就当给自己放个暑假. 面试当中Collection(集合)是基础重点.我在网上看了几篇讲Collection的文章,大多都是以罗列记忆点的形式书写的,没有谈论实现细节和逻辑原理.作为个人笔记无可厚非,但是并不利于他人学习.希望能通过这种比较“费劲”的讲解,帮助我自己.也帮助读者们更好地学习Java.掌握Java. 无论你跟我一样需要应聘,还是说在校学生学习Java基础,都对入门和进一步启发学习有所帮助.(关

SuperSocket框架学习笔记4-SuperWebSocket---使用SubCommandBase

首先下载所需要的 DLL http://download.csdn.net/detail/wai2dance123/7389285 或者参见第2章  到SuperSocket官网下载 http://www.cnblogs.com/xmcrew/p/3747354.html 1,新建一个 .NET4.0 控制台应用程序 命名为 DiyServers 添加以下引用 将默认的Program.cs改名为  DiyServers.cs 并添加以下命名空间 2,写自己的DSession和DServer继承自