Передача и скрытие значений из представления в контроллер - Codeigniter - PullRequest
2 голосов
/ 13 мая 2019

Я пытаюсь передать значения из моего представления в контроллеры в codeigniter.Когда я передаю значения в мой контроллер, значения отображаются в моем URL.Как передать значения, не отображая их в URL?

Просмотр

<p class="info"><a href="<?php echo base_url("customer/details/" . $customer->id . "/" . $customer->card . "/data"); ?>" 
class="css">Submit</a></p>

Контроллер

публичная функция option_standard ()

{
    $data['id'] = $this->uri->segment(3);
    $data['amt'] = $this->uri->segment(4);
    $data['page_content'] = 'customer/details';
    $this->load->view(layout, $data);
}

Ответы [ 3 ]

1 голос
/ 13 мая 2019

Вместо передачи $customer->id в URL-адресе сохраните его как данные сеанса, полученные по связанному URL-адресу.

0 голосов
/ 13 мая 2019

Все, что вы передадите без использования POST, будет видно в строке запроса.Вот как это работает.Если вы не можете или не хотите переключаться на POST, лучше всего сократить объем данных, передаваемых вами через строку запроса, до абсолютного минимума (возможно, только идентификатора клиента) и заставить контроллер извлекать все остальное.Помните, однако, что вам все равно нужно проверить ввод.

Скрытые поля (которые работают только на формах) также будут видны в строке запроса, если форма передает данные, используя GET вместо POST вынет смысла использовать их в вашем случае.

Другой альтернативой может быть передача данных обратно в контроллер с помощью Ajax, но данные все равно будут видны в консоли браузера, поэтому с точки зрения безопасности (или неясности) реального выигрыша не будет.

0 голосов
/ 13 мая 2019

Просто передайте customer_id через URL и извлеките данные, которые вы хотите отобразить на следующей странице, используя customer_id. Также вы можете использовать скрытое поле HTML для передачи данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...