我刚开始学习CI和PHP,想制作一个简单的CRUD应用程序。
我创建了一个添加记录的功能,但当我在表单中提交数据时,Chrome会下载一个没有扩展名的文件。
控制器
<?php
class Options extends CI_Controller{
function index()
{
$this->load->view('options_view');
}
function create()
{
$data = array(
'name' => $this->input->post('name'),
'price' => $this->input->post('price'));
$this->data_model->addItem($data);
$this->index();
}
}
型号
<?php
class Data_model extends CI_Model {
function getAll() {
$q = $this->db->query("SELECT * FROM items");
if($q->num_rows() >0){
foreach($q->result() as $row){
$data[]=$row;
}
}
return $data;
}
function addItem($data){
$this->db->insert('items', $data);
return;
}
}
?>
查看
<html><head></head><body>
<style type="text/css">
label {display: block;}
</style>
<h2>Create</h2>
<?php echo form_open('options/create'); ?>
<p>
<label for="name">Name</label><input type="text" name="name" id="name" />
</p>
<p>
<label for="name">Price</label><input type="text" name="price" id="price" />
</p>
<p><input type="submit" value="Submit" /></p>
<?php echo form_close(); ?>
</body>
</html>
是不是我做错了什么?没有弹出错误。表单已经创建,但当我在文本框中添加数据并单击提交时,浏览器会弹出一个"创建"文件。
是否不需要该行的最后一个斜杠?
<?php echo form_open('options/create/'); ?>
我认为您需要加载像这样的表单帮助程序
$this->load->helper(array('form', 'url'));
如果你遇到任何问题,请告诉我。
将$this->load->model('data_model');
添加到$this->data_model->addItem($data);
之前的方法