CakePHP表格外部控制器

时间:2011-05-05 22:09:16

标签: php cakephp

我的标题中有一个登录表单与我的users_controller对话,但表单本身不在用户控制器生成的视图中,因此我遇到两个问题

1。)密码字段不会被视为密码字段,只是一个普通的文本字段

2。)提交表单时,只需重定向到登录操作

以下是代码,它在登录视图和标题中使用(所以我知道它有效):

<?php echo $this->Form->create(null, array('id' => 'loginform', 'type' => 'post',
        'url' => array('controller' => 'users', 'action' => 'login'))); ?>

<fieldset id="login">

    <ul class="clearfix">
        <li id="li-username">
            <?php echo $this->Form->input('username', array('label'=>false,'placeholder'=>'Username or email address')); ?>
        </li>
        <li id="li-password">
            <?php echo $this->Form->input('password', array('label'=>false,'placeholder'=>'Password')); ?>
            <span id="iforgot"><?php echo $this->Html->link('?', 
            array('controller' => 'users', 'action' => 'forgotpassword'),  array('title' => 'Forgot your password?')); ?></span>
        </li>
        <li id="li-submit">
            <button type="submit" title="Log in">Log in &#9658;</button>
        </li>
    </ul>

</fieldset>

<?php echo $this->Form->end(); ?>

2 个答案:

答案 0 :(得分:1)

  1. 您可以使用type ='password'
  2. 
    echo $this->Form->input('password', array('label'=>false, 'type' => 'password', 'placeholder'=>'Password')); 
    

    1. 您已在$ this-&gt; Form-&gt; create()语句中指定了数组('controller'=&gt;'users','action'=&gt;'login')。因此表单提交到“/ users / login”
    2. 如果您不想将表单提交到'/ users / login',则可以使用AJAX执行登录。

      希望这些能够回答您的问题。

答案 1 :(得分:1)

为什么不改变

  

形式 - &GT;创建(NULL,...

  

形式 - &GT;创建(的 '用户'下,...

否则改变

  

形式 - &GT;输入( '用户名',...

  

形式 - &GT;输入(的 'User.username'下,...