Нещо redirect не работи - MVC

novakabg

Registered
Код:
    public function abonirane() {
        $response = array();
        if ($this->validateEmail()) {
            $newsletter = new BgNewsletter($this->registry, $this->request->post['email']);
            if ($newsletter->isSubscribed()) {
                $response['status'] = 'error';
                $response['unsubscribe'] = 1;
                $response['message'] = $this->bgthem->settings->get('newsletter_confirm_unsubscribe_message', 'Already subscribed. Unsubscribe?');
            } else {
                $newsletter->subscribe();               
            }
        } else {
            $response['status'] = 'error';
            $response['message'] = $this->bgthem->settings->get('newsletter_invalid_email_message', 'Invalid E-Mail.');
        }
        $this->response->setOutput(json_encode($response));
    }

Проблема ми е тука
Код:
 } else {
                $newsletter->subscribe();              
   $this->response->redirect('/index.php', '301'); 
            }

Пробвах така:

Код:
$this->response->redirect('/index.php', '301');

И Така : 


$this->redirect($this->url->link($url));

Но нищо
 
novakabg каза:
Не! :) само response!
Щом не са дефинирани - няма как да ги извикаш. Това и обяснява защо не работи :?:

Дефинирай ги, и ще тръгне!
 
flafy каза:
Най-вероятно предефинираш променливата $response. Виж, в началото на функцията дефинираш масив $response = array() . Промени името на променливата и тествай. Може да пробваш и това http://php.net/manual/bg/function.method-exists.php
Виж, това са отделни променливи:
$response = array();
// ...
$this->response->redirect('/index.php', '301');
Проблемът не идва оттук, а както писах в последния пост.
 

Горе