我有一个带有 Codeigniter 的简单 crud 应用程序。我还在努力学习这个框架。但我在更新控制器中遇到错误,似乎找不到它。
我得到的三个错误是:
严重性:警告
消息:Customers::update_customer() 缺少参数 1
文件名:controllers/customers.php
行号:67
严重性:通知
消息:未定义变量:id
文件名:controllers/customers.php
行号:94
最后一个是表单动作的结果。
严重性:通知
消息:未定义索引:id
文件名:views/edit_customer.php
行号:16
"method="post">
控制器:
function update_customer($id){
$data['success']=0;
if($_POST){
$data_customer=array(
'first_name'=>$_POST['first_name'],
'last_name'=>$_POST['last_name'],
'phone'=>$_POST['phone'],
'email'=>$_POST['email'],
'website'=>$_POST['website'],
'business_name'=>$_POST['business_name'],
'business_add'=>$_POST['business_add'],
'business_cityState'=>$_POST['business_cityState'],
'cc_type'=>$_POST['cc_type'],
'cc_number'=>$_POST['cc_number'],
'cc_exp'=>$_POST['cc_exp'],
'cc_cvd'=>$_POST['cc_cvd'],
'billing_add'=>$_POST['billing_add'],
'billing_zip'=>$_POST['billing_zip'],
'package'=>$_POST['package'],
'assigned_zip_code'=>$_POST['assigned_zip_code'],
'active'=>1
);
$this->customer->update_customer($id,$data);
$data['success']=1;
}
$data['customer']=$this->customer->get_customer($id);
$this->load->view('header');
$this->load->view('edit_customer',$data);
$this->load->view('footer');
}
模型:
function update_customer($id, $data){
$this->where('id', $id);
$this->db->update('customers', $data);
}
视图顶部:
<?php if($success==1){ ?>
<div class="successAlert">This customer has been updated.</div>
<? } ?>
<div class="mainForm">
<?php echo validation_errors(); ?>
<form action="<?=base_url()?>customers/update_customer/<?=$customer['id']?>" method="post">
<label for="first_name">First Name:</label>
<input type="input" name="first_name" value="" /><br />
<hr>