Как получить идентификатор из URL в codeigniter?


Я пытаюсь получить "идентификатор" из URL-адреса, чтобы удалить этот конкретный выбранный продукт. Я использовал $this->uri->segment(3), но он не получает никакого значения от URL. Хотя я вижу "идентификатор продукта" в своем URL-адресе.

Если я использовал $this->url->segment(2), это дает мне URL-адрес формы второго значения, но я не могу получить идентификатор продукта. Ниже приведен мой код. Пожалуйста, направь меня.

ПОСМОТРЕТЬ

echo "<a href='delete_controller?product_id=$product_id'>";
echo $name;
echo "</a>";

Следующий URL-адрес генерируется, когда я нажимаю на $name.

http://localhost/designs2/index.php/products_controller/delete_controller?product_id=70

Контроллер

public function delete_controller()
    {
        echo $product_id =$this->uri->segment(3);           
        echo "Taha";
        $this->load->view('delete_confirmation');
    }
Author: Majid Golshadi, 2014-01-17

6 answers

Если вам нужно передать значение, вы должны ввести URL-адрес следующим образом

localhost/yoururl/index.php/products_controller/delete_controller/70

И в функции контроллера вы можете прочитать так

function delete_controller( $product_id = NULL ) {
  echo $product_id;
}
 13
Author: Agha Umair Ahmed, 2014-01-17 07:32:59

Проверьте приведенный ниже код, надеюсь, вы получите свой параметр

echo $this->uri->segment('3');
 16
Author: Md.Jewel Mia, 2015-06-02 04:51:34
$product_id = $this->input->get('id', TRUE);
echo $product_id;
 5
Author: raj, 2014-01-17 07:32:52

Просмотр страницы

  <a href="<?php echo base_url();?>products_controller/delete_controller/<?php echo $product_id;?>"><?php echo $name; ?></a>

Страница контроллера

  function delete_controller( $product_id) {

         echo $product_id;
         //add your logic

  }
 1
Author: codeigniter leaner, 2014-01-17 07:41:37

В codeigniter вы не можете передавать параметры в URL, как вы делаете в основном php.Поэтому удалите "?" и "product_id" и просто передайте идентификатор.Если вы хотите большей безопасности, вы можете зашифровать идентификатор и передать его.

 1
Author: CodeCanyon, 2014-01-19 05:07:35

Я думаю, что вы неправильно используете маршрутизацию URI CodeIgniter: http://ellislab.com/codeigniter%20/user-guide/general/routing.html

В принципе, если бы у вас был Products_controller с методом delete($id) и созданный вами URL-адрес имел вид http://localhost/designs2/index.php/products_controller/delete/4, функция удаления получила бы $id в качестве параметра.

Используя то, что у вас есть, я думаю, вы можете получить идентификатор, используя $this->input->get('product_id);

 1
Author: cecilozaur, 2016-10-17 10:32:25