想要一些有关如何将表单控制器连接到我的CI网站中的表单方法的建议/帮助。我想将数据从一个查看器提交到另一个查看器。谢谢您的帮助!
这是我使用(Form.php)的控制器,是从另一个站点获取的: Form.php
<?php
class Form extends CI_Controller {
public function __construct() {
parent::__construct();
}
// Show form in view page i.e view_page.php
public function form_show() {
$this->load->view("addEdit");
}
// When user submit data on view page, Then this function store data in array.
public function data_submitted() {
$data = array(
'file_name' => $this->input->post('file'),
'title' => $this->input->post('title')
);
// Show submitted data on view page again.
$this->load->view("profile", $data);
}
}
?>
它连接到以下代码: addEdit.php
<form method="post" action="postAction.php" enctype="multipart/form-data">
<div class="form-group">
<label>Image</label>
<?php if(!empty($imgData['file_name'])){ ?>
<img src="uploads/images/<?php echo $imgData['file_name']; ?>">
<?php } ?>
<input type="file" name="image" class="form-control" >
</div>
<div class="form-group">
<label>Title</label>
<input type="text" name="title" class="form-control" placeholder="Enter title" value="<?php echo !empty($imgData['title'])?$imgData['title']:''; ?>" >
</div>
<a href="profile.php" class="btn btn-secondary">Back</a>
<input type="hidden" name="id" value="<?php echo !empty($imgData['id'])?$imgData['id']:''; ?>">
<input type="submit" name="imgSubmit" class="btn btn-success" value="SUBMIT">
</form>
当我第一次尝试使其工作时,出现此错误:
找不到404页
未找到您请求的页面。
http://culturedkink.com/index.php/register/postAction.php(the网址)
postAction.php是我试图从中获取数据的形式
最终结果是借助postAction.php在profile.php上看到从addEdit.php提交的信息
答案 0 :(得分:0)
先为其建立路线。
config / routes.php
$route['add'] = 'Controller_name/data_submitted';
$route['edit/(:any)'] = 'Controller_name/data_submitted/$1';
添加/编辑按钮放在哪里 用于添加
<a href="<?php echo base_url('/add'); ?>" class="btn btn-success"> Add New</a>
用于编辑按钮 $ row ['id']是我提供的示例。您可以按名称和ID来获取数据。任何您想要的。
<a href="<?php echo base_url('/edit/' . $row['id']); ?>" class="btn btn-info btn-xs">Update</a>
//控制器
public function data_submitted($id=0) {
$data=array();
$data['dataDetails']=$this->get_profile_data_by_id($id);
$data['view'] = 'folder_name/addEdit';
if ($id > 0) {
$profileArray = [
'file_name' => $this->input->post('file'),
'title' => $this->input->post('title')
];
if ($this->User_model->editById($id, $profileArray)) {
$id = $id;
}
}
else{
$profileArray = [
'file_name' => $this->input->post('file'),
'title' => $this->input->post('title')
];
if ($this->User_model->add($id, $profileArray)) {
$id = $id;
}
}
$this->load->view("profile", $data);
}
表单查看页面
<?php echo isset($dataDetails) ? "Update" : "Add"; ?>
答案 1 :(得分:0)
首先检查您的表单方法和操作。您的动作不存在。首先检查CI如何与表单一起使用。该动作应具有在控制器中声明的方法。网址看起来像这样, 当您提交表单时,数据将以这种方法提交。无论您需要处理此表单数据如何,都可以使用此方法进行。