Как получить идентификатор из 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');
}
6 answers
Если вам нужно передать значение, вы должны ввести URL-адрес следующим образом
localhost/yoururl/index.php/products_controller/delete_controller/70
И в функции контроллера вы можете прочитать так
function delete_controller( $product_id = NULL ) {
echo $product_id;
}
Проверьте приведенный ниже код, надеюсь, вы получите свой параметр
echo $this->uri->segment('3');
$product_id = $this->input->get('id', TRUE);
echo $product_id;
Просмотр страницы
<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
}
В codeigniter вы не можете передавать параметры в URL, как вы делаете в основном php.Поэтому удалите "?" и "product_id" и просто передайте идентификатор.Если вы хотите большей безопасности, вы можете зашифровать идентификатор и передать его.
Я думаю, что вы неправильно используете маршрутизацию 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);