Codeigniter Форма пост контроллера совет - PullRequest
0 голосов
/ 01 июля 2019

хотел бы получить совет / помощь о том, как подключить контроллер формы к методу отправки сообщения на моем 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 url)

postAction.php - это форма, с которой я пытаюсь заставить работать данные

Конечный результат заключается в том, что информация, отправленная из addEdit.php, будет видна на profile.php с помощью postAction.php

Ответы [ 2 ]

0 голосов
/ 01 июля 2019

Сначала проверьте ваш метод формы и действия.Ваше действие не существует.Сначала проверьте, как CI работает с формой.У действия должен быть метод, объявленный в контроллере.URL выглядит следующим образом: Когда вы отправляете форму, данные будут отправлены в этом методе.Все, что вам нужно сделать с этими данными формы, вы можете сделать это с помощью этого метода.

0 голосов
/ 01 июля 2019

сначала создайте для него маршруты.

config / rout.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'] - пример, который я привожу.Вы можете получить данные по имени и идентификатору .. все, что вы хотите.

<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"; ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...