【问题标题】:Displaying a view fails显示视图失败
【发布时间】:2012-03-07 03:37:13
【问题描述】:

我在一个页面上插入一个按钮,将用户引导到另一个视图 (newview.ctp)

在控制器中我创建了一个函数

function newview()
{ 
   if($this->Session->read($this->_userName))
   {
      $this->loadSkinForAction();
      $user = $this->user->findByUsername($this->Session->read('User'));
      $this->set('item',$user);
   }
}

在我提到的页面中,我只是以这种方式插入一个按钮

<input type="button" value="Change Your self" onclick="window.location.assign('../users/newview')" />

视图 newview.ctp 看起来像这样

<?php
if(isset($item))
{
    echo $form->create(null,array('url' => '/users/newview/'.$item['User']['id']));
}
?>
<h1>Change your password</h1>
<table>
    <tr>
        <td>New password</td>
        <td><?php $form->password('password',$newPassword);?></td>
    </tr>
        <tr>
        <td>Confirm password</td>
        <td><?php echo $form->password('password_',$newPasswordConfirm);?></td>
    </tr>
</table>

<?php
    echo "<br/>";
    echo $form->end('Save');
}?>

当我点击页面中的按钮时,它不会显示新页面而是显示一个空白页面,

【问题讨论】:

  • 控制器中的函数不应该“返回” $item 吗?
  • Chk 是 onClick 属性中的路径“../users/newview”根据你的目录结构有效吗?请在你的FF浏览器中添加Firebug并调试
  • 澄清一下,空白页通常表示发生了致命错误,并且您在 CakePHP 中的调试级别设置为 0。如果您打开 /app/config/core.php 文件并设置将调试级别设置为 1 或 2,您有望收到一条错误消息,帮助您解决问题。
  • 谢谢大卫,你帮我准确地发现了错误。非常感谢。 :-)

标签: php cakephp cakephp-1.3


【解决方案1】:

链接到“newview()”页面的页面是否需要是 HTML 按钮?还是只是一个链接?

如果是链接,请使用 CakePHP 的 Html 辅助函数。 Link

<?php echo $this->Html->link('Change Password', '/users/newview'); ?>

【讨论】:

  • 谢谢,但我不明白 html 按钮有什么区别?
  • HTML 按钮是
    的一部分。如果您只是想将用户重定向到新页面,请使用链接(我在上面发布)。
  • 但添加该链接会使整个当前页面失败。我将更新我的 OP 以明确当前页面的制作和处理方式
猜你喜欢
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 2012-01-22
  • 2020-03-29
  • 2017-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多