ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

不建议使用键`action`,而直接在cakephp中使用`url`

2019-11-19 01:31:45  阅读:191  来源: 互联网

标签:cakephp-2-0 php


我从UsersController中的我的forgot_password方法在CakePHP中收到此错误.

public function forgot_password() {
    $this->layout = 'signin';
    if (!empty($this->data)) {
        $user = $this->User->findByUsername($this->data['User']['username']);
        if (empty($user)) {
            $this->Session->setflash('Sorry, the username entered was not found.');
            $this->redirect('/users/forgot_password');
            }else{
                $user = $this->__generatePasswordToken($user);
                if ($this->User->save($user) && $this->__sendForgotPasswordEmail($user['User']['id'])) {
                $this->Session->setflash('Password reset instructions have been sent to your email address.
                    You have 24 hours to complete the request.');
                $this->redirect('/users/login');
            }
        }
    }
}

这是forgot_password.ctp文件

<header class="panel-heading text-center">
    <strong>Forget Password</strong>
</header>
    <h3>Enter Your Username</h3>
<?php 
     echo $this->Form->create('User', array('action' => 'forgot_password', 'id' => 'web-form', 'class'=>'panel-body wrapper-lg')); 

     echo $this->Form->input('username', array('label' => 'Username', 'between'=>'<br />', 'type'=>'text', 'div' => 'form-group','class' => 'form-control input-lg')); 
?>
<div class="form-group">
    <?php echo $this->Form->submit('Send Password Reset Instructions', array('class' => 'btn btn-primary btn-techuz', 'id' => 'submit')); ?>
</div>
<?php echo $this->Form->end(); ?>

解决方法:

如果与视图相同,则无需指定表单操作.如果您想重定向到其他操作,请尝试以下操作:

   <?php 
      echo $this->Form->create('User', array(
          'url'   => array(
               'controller' => 'users','action' => 'forgot_password'
           ), 
          'id'    => 'web-form', 
          'class' =>'panel-body wrapper-lg'
       )
    ); ?>

如果您遵循约定并将此“ url”索引定义为控制器和索引的数组,则注定是安全的并且不会出错.

和平! xD

标签:cakephp-2-0,php
来源: https://codeday.me/bug/20191119/2032439.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有