отсутствующий аргумент и неопределенная переменная; причина ошибок? - PullRequest
0 голосов
/ 21 сентября 2011

Я получаю следующие ошибки, я спрашиваю, знает ли кто-нибудь возможную причину, почему я получу их. Я новичок, так что помощь была бы благодарна ... Я также выложу эти строки.

A PHP Error was encountered

Severity: Warning

Message: Missing argument 1 for Welcome::quote()

Filename: controllers/welcome.php

Line Number: 64

и

A PHP Error was encountered

Severity: Notice

Message: Undefined variable: productid

Filename: controllers/welcome.php

Line Number: 65

Строки, о которых идет речь;

64    function quote($productid){ 
65        if ($productid > 0){
66            $fullproduct = $this->MProducts->getProduct($productid);
67            $this->MQuotes->updateQuote($productid,$fullproduct);
68            redirect('welcome/product/'.$productid, 'refresh');
69        }else{
70        $data['title'] = '... | Quote';
..       
..        if (count($_SESSION['quote']) == true){
..        $data['main'] = 'quote';
..        $data['navlist'] = $this->MCats->getCategoriesNav();
..        $this->load->vars($data);
..        $this->load->view('template');
..        }else{
..        redirect('welcome/index','refresh');
..        }
..    }
..    }

что не так с $ productid ??

1 Ответ

2 голосов
/ 21 сентября 2011

Это означает, что вы не передаете необходимое количество сегментов в своем URL

/ welcome / quote / product_id

Кажется, вы запрашиваете:

/ welcome / quote

Если вы хотите иметь доступ к последнему без ошибки, задайте для него значение по умолчанию:

function quote($productid = -1){
    //
}

и тогда вы можете сделать:

function quote($productid = null){
    if (is_null($productid)) {
        // one workflow
    } else {
        // another workflow
    }
}

Если вы пропускаете необходимое количество сегментов, обновите вопрос, включив в него содержимое файла /config/routes.php (при условии, что вы его отредактировали).

...