Как получить идентификатор URI, чтобы вставить его в базу данных после отправки? Codeigniter - PullRequest
1 голос
/ 17 марта 2020

У меня есть проблема, когда мне нужно отправить или перенаправить на страницу того же URI.

Основная проблема здесь заключается в том, что URL-адрес идентификатора не был прочитан или не был получен, Как я могу получить чтобы вставить в мои данные.

После отправки страницы возникает ошибка

An uncaught Exception was encountered
Type: ArgumentCountError

, например, мой URL: http://localhost/project/groups/view_activity/1

, тогда мне нужно отправить его в контроллер /posts/create_activity

Вот контроллер /posts/create_activity

public function create_activity($id){

    $this->post_model->create_activity();

    redirect('groups/view_activity/'.$id);
}

И моя модель, которую я ожидаю, что $ id является URI

public function create_activity($id){
        // Insert questions

        $field_question = array(
            'question'=>$this->input->post('question'),
            'group_id' => $id
        );

        $this->db->insert('questions', $field_question);
}

Форма подачи

<form method="post" action="<?php echo base_url(); ?>posts/create_activity">


    <div class="form-group">
        <label for="exampleFormControlTextarea1"><h5> Question: </h5></label>
             <textarea class="form-control" name="question" id="question" rows="8" placeholder="Enter your Question"></textarea>
    </div>

        <hr>


    <input type="submit" id="btnSave" class="btn btn-block btn-info" value="Submit" />

 </form>

Ответы [ 2 ]

1 голос
/ 17 марта 2020

Вы должны передать $id из вашего view_activity метода контроллера на ваш взгляд, или вы можете напрямую получить его из uri на ваш взгляд. После этого измените ваш form action на

<form method="post" action="<?php echo base_url('posts/create_activity/'.$id); ?>">.

В качестве альтернативы, если вы не хотите, чтобы это было в вашем uri, вы можете добавить один скрытый input со значением $id.

0 голосов
/ 17 марта 2020

Передать идентификатор в функцию модели

$this->post_model->create_activity($id);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...