Codeigniter отображает предупреждение об ошибке, если аргумент в URL не указан - PullRequest
3 голосов
/ 30 августа 2010

Если я не предоставлю значение в URL для Codeigniter, будет отображаться ошибка PHP, в которой говорится, что отсутствует аргумент для вызова функции.Я НЕ хочу, чтобы это отображалось вообще.Если в URL нет аргумента, он должен просто перенаправить свою функцию index.Как я могу предотвратить это?

Например, www.example.com/profile/id/45

кто-нибудь мог бы угадать и ввести это так "www.example.com/profile/id"

это приведет к ошибке.Как мне это предотвратить?Я попытался "if (! Isset ($ id))", но он выдал ошибку, прежде чем достиг этого условия.

Ответы [ 3 ]

5 голосов
/ 30 августа 2010

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

function id($id=NULL)
{
 if ($id===NULL)
 {
  redirect....
 }

}
3 голосов
/ 31 августа 2010

Вы также можете использовать:

$this->uri->segment(2); // gets 'id'
$this->uri->segment(3); // gets '45'

, затем выполнить перенаправление, проверить:

http://codeigniter.com/user_guide/helpers/url_helper.html
0 голосов
/ 14 марта 2014

использовать значения по умолчанию для вашей функции

function id($id=0){
   if(there any record with $id being provided){
        //do something
}else{
       //id not provided,set to default values 0 and then
   show_404();
 }

}

ни в коем случае не может быть id = 0, поэтому он автоматически отправляется без перенаправления, если пользователь вводит URL www.example.com/profile/id,

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