Codeigniter - проверка выполнения запроса GET - PullRequest
0 голосов
/ 24 мая 2011

Я использую CodeIgniter для написания сайта ... Я понимаю, что запросы $ _GET теперь используются примерно так: www.website.com/function/value .. и в контроллере получение URL-адреса записывается так:

$userId = $this->uri->segment(3, 0);

Мне просто интересно, когда контроллер загружается, я хочу проверить, есть ли какие-либо сегменты URI, есть ли тогда переход к одному представлению, иначе, если нет сегмента URI к другому.1005 * Возможно ли это?

ура.

Ответы [ 4 ]

5 голосов
/ 24 мая 2011

Для этого вы также можете использовать аргументы контроллера.

При доступе к / user / profile / 1 ваш контроллер с именем Пользователь вызовет метод profile () и передаст число 1 как первый аргумент вашего метода. Вот так:

class User extends CI_Controller {
{

    public function index()
    {
        $this->load->view("user_index");
    }

    public function profile ( $userId = null )
    {
        if( (int)$userId > 0 )
            $this->load->view("user_profile");
        else
            $this->load->view("another_view");
    }

}

Это очень простой пример, и я просто пытаюсь показать идею.

1 голос
/ 25 мая 2011

Похоже, вы задали два вопроса ...

Сначала проверьте, получен ли запрос:


public function get_test()
{
    if($_SERVER['REQUEST_METHOD'] == "GET")
    {
        //do something from get
        echo "GET";
    }
    else
    {
        //do something not get
        echo "NOT GET";
    }   
}

Следующий вопрос, похоже, проверяет сегменты uri


public function get_test()
{
    if($_SERVER['REQUEST_METHOD'] == "GET")
    {
        //do something from get
        //echo "GET";
        if($this->uri->segment(3)) //is true as is not empty
        {
            echo $this->uri->segment(3);
        }
        else
        {
            echo "I am nothing without my URI Segment";
        }
    }
    else
    {
        //do something not get
        echo "NOT GET";
    }   
}
0 голосов
/ 15 декабря 2012

Как я понимаю, вы можете использовать значение по умолчанию PHP.

function myFunction($var1 = NULL) {... if($var1 === NULL) ...}

Теперь, если вы не передадите параметр, вы получите значение NULL.

0 голосов
/ 25 мая 2011

Я все еще не использую версию 2 codeigniter, но эта структура не принимает запросы на получение; если вы не возитесь с конфигурацией. Есть функция $ this-> input-> get ('myGet'), которую вы должны посмотреть на de codeigniter.com/user_guide

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