【发布时间】:2017-10-17 07:07:29
【问题描述】:
我的问题是我的输入“类型”永远不会在数据库中发布,因为我没有在视图中提供输入类型(我希望我的类型的值由控制器/隐藏设置)...这是我的代码
控制器:
<?php
public function addSmsCampaign() {
if (isset($_POST['addSmsCampaign'])) {
$this->form_validation->set_rules('campaign_name', 'campaign name', 'required|is_unique[campaigns.campaign_name]');
$this->form_validation->set_rules('sequence_qty', 'sequence quantity', 'required|integer');
$this->form_validation->set_rules('label_id', 'label id', 'required');
$this->form_validation->set_rules('type', '', 'required');
//if form validation true
if ($this->form_validation->run() == TRUE) {
$sms = 1;
$newcampaign = [
'campaign_name' => $_POST['campaign_name'],
'sequence_qty' => $_POST['sequence_qty'],
'label_id' => $_POST['label_id'],
'type' => $this->input->post('type'),
'created_at' => date('Y-m-d')
];
$this->db->insert('campaigns', $newcampaign);
redirect('userCont/sequenceform', 'refresh');
}
}
?>
这是我的观点:
<form action="" method="POST">
<div class="form-group">
<label for="campaign_name">Input Campaign Title </label>
<input type="text" class="form-control" name="campaign_name" id="name">
</div>
<div class="form-group">
<label for="sequence_qty">Sequence qty </label>
<input type="text" class="form-control" name="sequence_qty" id="qty">
<input type="hidden" class="form-control" name="type" value="1">
</div>
<div class="form-group">
<label for="label_id">Choose Category</label>
<select class="form-control" name="label_id" id="label_id">
<?php
foreach ($label_content as $e) {
echo "<option value='$e->id;'>" . $e->label_name . "</option>";
}
?>
</select>
</div>
<div class="text-right">
<button class="btn btn-primary form-control" value="1" name="addSmsCampaign type">next</button>
</div><hr>
</form>
每次我发布类型的值都是默认值 = 0,我想将值设置为 1... 非常感谢
【问题讨论】:
-
html 中不需要包含 type 字段,只需在控制器中设置值即可
-
每次我发布类型的值都是默认值 = 0,我想将值设置为 1 ???什么?解释你的问题
-
我在我的控制器中编辑类型'type' => $this->input->post('type'),到这个'type' => '1',但值是还是0,这就是为什么我设置隐藏在视图中但仍然不起作用
标签: php database codeigniter controller