Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用codeigniter在url中添加动态id_Php_Codeigniter - Fatal编程技术网

Php 使用codeigniter在url中添加动态id

Php 使用codeigniter在url中添加动态id,php,codeigniter,Php,Codeigniter,我有一个带有url的编辑页面 example.com/product/edit/11 现在,如果验证为false,我打算重新加载编辑页面,但不知道如何在url中添加id“11” 到目前为止我所做的事情 在routes.php中 $route['product/edit/(:num)'] = "product/edit/$1"; 现在我如何从控制器在url中传递该id function edit($edit_id) { //some code } function edit($edit_id

我有一个带有url的编辑页面

example.com/product/edit/11
现在,如果验证为false,我打算重新加载编辑页面,但不知道如何在url中添加id“11”

到目前为止我所做的事情

在routes.php中

$route['product/edit/(:num)'] = "product/edit/$1";
现在我如何从控制器在url中传递该id

function edit($edit_id)
{
//some code
}
function edit($edit_id) {

    //some codes

    //passing edit_id to view
    $data['edit_id'] = $edit_id;
    $this->load->view('product/edit', $data);
}
我试过这个

$this->load->view('product/edit/'.$edit_id,$data);
编辑:我没有试图将编辑id传递给视图文件

 //some codes
 echo $edit_id
echo $this->uri->segment(3);
我试图模拟这一点:

<a href="example.com/product/edit/11">Edit</a>
将具有要使用的
$edit\u id

它没有像我想象的那样起作用

我知道我可以将该id传递到视图文件并使其工作,但我想知道我是否可以在url中传递该id

谢谢

编辑:我想即使我设法在url中传递它。我最终会遇到更多的问题,比如设置表单属性和其他东西。我所做的是

redirect('product/edit/'.$edit_id);

并通过设置
flashdata

您的
Product.php
控制器发出错误消息

function edit($edit_id)
{
//some code
}
function edit($edit_id) {

    //some codes

    //passing edit_id to view
    $data['edit_id'] = $edit_id;
    $this->load->view('product/edit', $data);
}
view/product
文件夹中,
edit.php
查看文件

 //some codes
 echo $edit_id
echo $this->uri->segment(3);
或者直接从视图文件中的url

 //some codes
 echo $edit_id
echo $this->uri->segment(3);

您的
Product.php
控制器

function edit($edit_id)
{
//some code
}
function edit($edit_id) {

    //some codes

    //passing edit_id to view
    $data['edit_id'] = $edit_id;
    $this->load->view('product/edit', $data);
}
view/product
文件夹中,
edit.php
查看文件

 //some codes
 echo $edit_id
echo $this->uri->segment(3);
或者直接从视图文件中的url

 //some codes
 echo $edit_id
echo $this->uri->segment(3);


我很确定您是通过控制器的$data传递ID的,否则您将试图调用一个不存在的视图。(我不是100%确定,因为我不是CI用户)是的,我也这么认为,我只是想知道是否有其他方法可以做到这一点。无论如何谢谢对不起,我不明白你想把
edit\u id
传递给你的视图?我写这篇文章只是为了展示我想要的。我不想将edit_id传递给view,我可以按照Ben的建议通过$data来完成。我想要的是通过URL传递编辑id,我很确定您是通过控制器的$data传递id的,否则您将试图调用一个不存在的视图。(我不是100%确定,因为我不是CI用户)是的,我也这么认为,我只是想知道是否有其他方法可以做到这一点。无论如何谢谢对不起,我不明白你想把
edit\u id
传递给你的视图?我写这篇文章只是为了展示我想要的。我不想将edit_id传递给view,我可以按照Ben的建议通过$data来完成。我想要的是通过URL传递编辑id这就是我现在想要的,这是你通常在CodeIgniter中所做的。我所追求的是从控制器中强制url中的某些内容。我不清楚safarovs回答有什么问题,您可以将
$edit\u id
放入
href=“@timperson是的,您可以将其放入href中。我的问题是,在加载视图文件$this->load->view('product/edit/')时,您是否可以这样做它会导致url中的edit_id不存在,因为它会尝试查找一个不存在的函数,href只是加载视图文件时我想在控制器中实现的一个示例。hi Kaushtuv,如果它不存在,只需将$edit_id分配给一个空值,就不会触发错误。如果这没有帮助,perhaps您可以尝试重新解释您的问题是什么?我仍然对您所说的有点困惑,尽管我认为有一个简单的解决方案。您也可以使用JavaScript/jQuery动态地向url添加内容,如下所示:
$('a').attr('href',$(this.attr('href')+')/stuff to add to url'))
这就是我现在所追求的,这是您在code igniter中通常所做的。我所追求的是从控制器中强制url中的某些内容。我不清楚safarovs回答有什么问题,您可以将
$edit\u id
放入
href=”“@Timperson是的,你可以把它放在href中,但是我的问题是,如果你在加载视图文件$this->load->view('product/edit/'。$edit_id)时可以这样做,那么它会在url中生成该edit_id,而它不会这样做,因为它会试图找到一个不存在的函数,href只是加载视图文件时我希望在控制器中实现的一个示例。hi Kaushtuv,只需将$edit_id分配给一个空值,如果它不存在,则不会触发错误。如果这没有帮助,也许你可以尝试重新解释你的问题是什么?虽然我认为有一个简单的解决方案,但我仍然对您所说的有点困惑。您还可以使用JavaScript/jQuery动态地向url添加内容,如下所示:
$('a').attr('href',$(this.attr('href')+')/stuff to add to url')