Codeigniter表单后期控制器建议

时间:2019-07-01 03:04:48

标签: php codeigniter

想要一些有关如何将表单控制器连接到我的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提交的信息

2 个答案:

答案 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如何与表单一起使用。该动作应具有在控制器中声明的方法。网址看起来像这样, 当您提交表单时,数据将以这种方法提交。无论您需要处理此表单数据如何,都可以使用此方法进行。