重定向导致空白屏幕错误cakephp

时间:2013-10-16 19:04:53

标签: cakephp

尽管在我的core.php中将调试调整为2,

$ this->从任何控制器方法调用的重定向似乎都会导致空白屏幕错误。

在我的AdminAppController中,位于App / Plugin / Admin / Controller中,最初是这段代码,在我的beforefilter()中:

public function beforeFilter() {
    parent::beforeFilter ();
    $rusername = $this->Auth->user ( "Username" );
    if ($rusername != "admin") {
        $this->redirect ( "/" );
        return;
    }

无论用户名如何,此结果都是管理员空白屏幕错误。通过注释重定向,它允许我再次进入管理区域。

但是,现在每当我使用$ this->重定向时,我都会出现空白屏幕错误。

例如,这是我的产品控制器的价格视图:

<?php echo $this->Session->flash('flash');?>
<?php echo $this->Form->create('Product', array('action' => 'change')); ?>
<fieldset>
    <h3>Products</h3>
    <table>
        <?php
        foreach($products as $k=>$v){
            echo $this->Form->hidden("Product.{$k}.id", array('value'=> $v["Product"]['id']));
            echo $this->Form->input("Product.{$k}.name", array('value' => $v["Product"]["name"], 'disabled' =>'disabled'));
            echo $this->Form->hidden("Product.{$k}.slug", array('value'=>$v["Product"]['slug']));
            echo $this->Form->hidden("Product.{$k}.description", array('value'=>$v["Product"]['description']));
            echo $this->Form->hidden("Product.{$k}.cateID", array('value'=>$v["Product"]['cateID']));
            echo $this->Form->input("Product.{$k}.price", array('value' => $v["Product"]['price']));
            echo $this->Form->hidden("Product.{$k}.photo", array('value'=>$v["Product"]['photo']));
            echo $this->Form->hidden("Product.{$k}.photo_dir", array('value'=>$v["Product"]['photo_dir']));
            echo $this->Form->hidden("Product.{$k}.active", array('value'=>$v["Product"]['active']));
            echo $this->Form->hidden("Product.{$k}.views", array('value'=>$v["Product"]['views']));
            echo $this->Form->hidden("Product.{$k}.created", array('value'=>$v["Product"]['created']));
            echo $this->Form->hidden("Product.{$k}.modified", array('value'=>$v["Product"]['modified']));
            }
        ?>
    </table>
</fieldset>
<?php echo $this->Form->end(__('Submit')); ?>

我的产品控制器包含此方法:

 public function prices(){
                $products = $this->Product->find ("all");
                $this->set ("products", $products );
    }

从这个视图中调用此方法:

 public function change(){
    //create() resets model, precaution
    $this->Product->create();
    $data = $this->request->data;
    $this->Product->saveMany($data['Product']);
    $this->Session->setFlash( "Prices Saved.");
    $this->redirect ( '/' );
    return;
}

在提交价格变更时(保存并更改数据库,重定向行会导致屏幕变为空白,没有错误或任何其他错误指示​​。

错误日志显示没有发生什么事情的迹象。

感谢。

1 个答案:

答案 0 :(得分:0)

道歉已久的答案。

经过多次努力,结果很简单。 Admin AppController在开放前包含一些空格