gpt4 book ai didi

php - 如何更新CodeIgniter中的数据?

转载 作者:行者123 更新时间:2023-11-29 22:58:26 25 4
gpt4 key购买 nike

首先,抱歉我的英语不好,如果您不明白我在说什么,可以询问,我会寻找其他合适且准确的单词。

现在,我在过去的两周里一直在使用 codeigniter,所以我有很多问题,但我发现有一个问题一直困扰着我。

我从简单的 CRUD 开始,然后进行高级,到目前为止都很好,直到我在更新数据时陷入困境。当我点击“提交”按钮时,我只得到404页面。当我看到数据库时,没有任何变化。

这是 Controller 的代码:

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
Class Master_user extends CI_Controller {
function __construct(){
parent::__construct();
$this->load->model('mod_master_user');
$this->load->library('datatables');
}
public function index(){
if ($this->session->userdata('type') == 'admin') {
$data['hasil'] = $this->mod_master_user->getall();
$datum['content'] = $this->load>view('master_user/view',$data,true);
$this->load->view('main',$datum);
} else if ($this->session->userdata('type') == 'user'){
$a= $this->load->model('m_absensi');
$aa["content"] = $this->load->view('absensi/form',$a,true);
$this->load->view("absensi/mainUser",$aa);
}
}

public function tambah_data(){
if($this->input->post('nama')){
$this->mod_master_user->tambah();
redirect('master_user');
}else{
$this->load->view('master_user/add');
}
}

public function update_data($id_user)**//i use this method for updating data**{
if($this->input->post('submit')){
$this->mod_master_user->update($id_user);
redirect('master_user/index');
}
$data['hasil']=$this->mod_master_user->getById($id_user);
$this->load->view('master_user/edit',$data);
}

public function delete_data($id_user){
$this->mod_master_user->delete($id_user);
redirect('master_user');
}

public function error()
{
$this->output->set_status_header('404');
$data['content'] = '404';
$this->load->view('master_user/404',$data);
}

public function print_report()
{
$this->load->view('master_user/print');
}

public function jam_masuk()
{
$this->load->view('master_user/jam_masuk');
}

}

这是模型的代码:

<?php if(!defined('BASEPATH')) exit('No direct script access allowed');
Class Mod_master_user extends CI_Model{

var $tabel_name = 'master_user';

function __construct() {
parent::__construct();
}

public function getall(){
$ambil_data = $this->db->get('master_user');//mengambil tabel master_user

if ($ambil_data->num_rows() > 0 ){ //jika data lebih dari 0
foreach ($ambil_data->result() as $data){
$hasil[] = $data;
}
return $hasil;
}
}

public function tambah(){
$id_user = $this->input->post('id_user');
$nama = $this->input->post('nama');
$password = $this->input->post('password');
$tanggal_lahir = $this->input->post('tanggal_lahir');
$tempat_lahir = $this->input->post('tempat_lahir');
$role = $this->input->post('role');
$data = array (
'id_user'=> $id_user,
'nama'=>$nama,
'password'=>md5($password),
'tanggal_lahir'=>date('Y-m-d',strtotime($tanggal_lahir)),
'tempat_lahir'=>$tempat_lahir,
'role'=>$role
);
$this->db->where('id_user',$id_user);
$this->db->insert('master_user', $data);
}

public function update($id_user)**//i use this method to updating data**{
$id_user=$this->input->post('id_user');
$nama=$this->input->post('nama');
$password=$this->input->post('password');
$tanggal_lahir=$this->input->post('tanggal_lahir');
$tempat_lahir=$this->input->post('tempat_lahir');
$role=$this->input->post('role');
$data = array (
'id_user' => $id_user,
'nama' => $nama,
'password'=> $password,
'tanggal_lahir'=> $tanggal_lahir,
'tempat_lahir'=> $tempat_lahir,
'role'=>$role
);
$this->db->where('id_user',$id_user);
$this->db->update('master_user',$data); //update data
}

public function getById($id_user){ //mengambil data dari db berdasarkan id (primary key)
return $this->db->get_where('master_user',array('id_user'=>$id_user))->row();
}

public function delete($id_user){
$this->db->where('id_user',$id_user);
$this->db->delete('master_user'); //query delete data
}

public function cek_user_login($username, $password) {
$this->db->select('*');
$this->db->where('NAMA', $username);
$this->db->where('PASSWORD', md5($password));

$query = $this->db->get($this->tabel_name, 1);



if ($query->num_rows() == 1) {
$this->db->limit(1);
return $query->row_array();
}
}

public function validasi()
{
$nama = $this->input->post('nama');
$password = $this->input->post('password');
$check = $this->mod_master_user->check($nama, md5($password));
if($check->num_rows() > 0)
{
//login berhasil, buat session
//$this->session->set_userdata('username',$username);
redirect('master_user');
}
else
{
//login gagal
//$this->session->set_flashdata('message','Username atau password salah');
redirect('users');
}
}

}

到目前为止,我在其他论坛上没有得到答案,所以我在这里寻求答案:)任何答案/帮助将不胜感激。谢谢:)

最佳答案

我已经有一段时间没有使用 CodeIgniter 了。

您正在加载输入类吗?那么你实际上可以接收 $_GET 和 $_POST 数据吗?我认为它实际上默认这样做。

这可能有点太简单了,但是您调用了正确的 URI 并且确定它到达了您的 View 吗?

可能有助于查看您的观点,您是否使用表单助手来实现此目的? https://ellislab.com/codeIgniter/user-guide/helpers/form_helper.html

关于php - 如何更新CodeIgniter中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28621283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com