indexign中的codeigniter传递参数($ parameter)

时间:2015-07-14 12:44:17

标签: php codeigniter model-view-controller

我必须通过索引传递参数,索引的参数用于用户访问,

在我的网站上,我为每个用户提供了不同的网址(www.domain.com/username)

当用户输入url时,它将进入登录页面;

现在网址是www.domain.com/user_Method/username

工作正常,我希望它为www.domain.com/username;

function user_Method($name)//LOGIN of store users According to privilage;
{
    if($name=="")//if empty Url
    {
        redirect($this->config->base_url()."Error");
    }
    else if($name)
    {
        $data['storeid']=$this->admin_lib->get_where_id();//Get Store details
        if($data['storeid']!="")
        {
            $this->load->view('login',$data);
        }
        else
        {
            redirect($this->config->base_url()."Error");        
        }
    }
}

2 个答案:

答案 0 :(得分:1)

base_url中设置config file并为变量指定用户名,然后重定向到附加用户名的基本网址。

$config['base_url'] = 'http://www.example.com/';
$var = username;
redirect(base_url().$var);

答案 1 :(得分:0)

如果要传递用户名或ID,可能需要配置路由

在routes.php文件中示例

$route['default_controller'] = 'test';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

$route['(([^/]+)/?)'] = 'test/$1';
$route['error'] = 'test/error';
$route['(([^/]+)/?)'] = 'test/user_Method/$1';

用户指南http://www.codeigniter.com/user_guide/general/routing.html

工作形象

enter image description here

<?php

class Test extends CI_Controller {

function index($somename = null) {
    $somename = 'example';

    if($somename == "") {

        redirect(base_url() . 'error');

    } else {

        redirect(base_url() . $somename);

    }
}

function user_Method($somename = NULL) {
    echo "Working ";
    echo $this->uri->segment(1);
}

public function error() {
    echo "ERROR PAGE";
}
}

地址

http://localhost/codeigniter-project/username

使用index.php

http://localhost/codeigniter-project/index.php/username

配置基本网址

$config['base_url'] = 'http://www.domain.com/';