【发布时间】:2021-11-25 10:39:42
【问题描述】:
我对 codeigniter 还是很陌生。目前我正在尝试从表单的输入字段将数据插入我的本地数据库。没有弹出错误,但输入的数据未显示在我的数据库中。我一直在查看我的 admin-index 文件、admin(controller) 文件和 admin_model 文件。但是代码很容易理解。找不到错误。如果数据库连接是问题,我确信它已成功连接,因为我可以登录(尤其是使用不同的用户类型)。以下是我的代码。感谢任何可以分享想法的人:)
admin.php(控制器)
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Admin extends CI_Controller
{
public function __construct()
{
parent::__construct();
//$this->load->model('Admin_model');
}
public function add()
{
$newData = array(
'fname' =>$this->input->post('firstName'),
'lname' =>$this->input->post('lastName'),
'uname' =>$this->input->post('userName'),
'pword' =>$this->input->post('passWord'),
'utype' =>$this->input->post('userType')
);
$this->load->model('Admin_model');
$this->Admin_model->add_user($newData);
}
}
admin_model.php
<?php
class Admin_model extends CI_Model
{
public function __construct()
{
parent::__construct();
$this->load->database();
}
public function add_user($data)
{
$this->db->insert('tblaccount', $data);
//echo($newData);
}
}
admin-index.php
<form>
<div class="form-group" action="<?php echo base_url(); ?>admin/add" method="POST">
<label>First Name</label>
<input type="text" name="firstName" class="form-control">
</div>
<div class="form-group">
<label>Last Name</label>
<input type="text" name="lastName" class="form-control">
</div>
<div class="form-group">
<label> Username</label>
<input type="text" name="userName" class="form-control">
</div>
<div class="form-group">
<label>Password</label>
<input type="password" name="passWord" class="form-control">
</div>
<div class="form-group">
<label>UserType</label>
<input type="text" name="userType" class="form-control">
</div>
<button type="submit" name="submit" value="submit" class="btn btn-primary">Submit</button>
</form>
【问题讨论】:
-
您从哪里发送数据?尝试使用 $this->input->post() 从帖子中获取数据;而不是插入它。
-
我在 add() 函数下的 admin.php(controller) 中使用了该行代码。如您所见,我的 html 表单的操作值 = action="admin/add",从我的控制器 admin.php 调用管理类,add() 函数。
-
嗨,我认为问题出在 $this->Admin_model->add_user($newData);像这样调用 $this->admin_model->add_user($newData);
-
Umefarooq 是正确的。当您为模型命名时,请使用大写字母。在代码中使用时,模型名不要大写
-
哦是这样。好吧,它现在起作用了。我认为我的模型即使被称为大写也能被识别,问题根本不在函数中(“模型/控制器”)。 method="post" 未被识别,因为它被放置在 div 标签下,它应该在表单上。但是,嘿,感谢您分享想法。真的很感激
标签: php codeigniter