在 cakephp 中工作,试图在布局标题栏中实现登录表单
Working in cakephp trying to implement a login form in layout title bar
很奇怪...我无法让登录表单正常工作,但如果我将它放入两次,第二组表单接缝就可以正常工作。
<form class="navbar-form navbar-right">
<div class="form-group">
<?php if ($this->Session->read('Auth.User.id')): ?>
<?php
print
'Welcome back ' . $this->Session->read('Auth.User.name') . '' .
$this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
?>
<?Php else: ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<!--// echo $this->Form->create('User', array('action' => 'login', 'class' => 'form-inline'));
// echo $this->Form->input('username');
// echo $this->Form->input('password');
// echo $this->Form->end(__('Login'));
-->
<?php endif; ?>
</div>
</form>
此方法 100% 有效,但此方法(以下)无效:
<form class="navbar-form navbar-right">
<div class="form-group">
<?php if ($this->Session->read('Auth.User.id')): ?>
<?php
print
'Welcome back ' . $this->Session->read('Auth.User.name') . '' .
$this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
?>
<?Php else: ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<!--// echo $this->Form->create('User', array('action' => 'login', 'class' => 'form-inline'));
// echo $this->Form->input('username');
// echo $this->Form->input('password');
// echo $this->Form->end(__('Login'));
-->
<?php endif; ?>
</div>
</form>
有人知道为什么会发生这种情况吗?我确信我昨晚让它工作了,但我今天无法让它工作。如果需要,我可以添加更多代码。请注意,我正在使用 boostcake 插件,但在 appController 中禁用了它的助手,并在 bootstrap 中将其删除,没有区别。
我觉得有点傻,但问题是我使用了表单 html 元素而不是 div,这一定会以某种方式影响蛋糕构建表单的方式。如果有人有答案,我很想知道更多。建设性意见将不胜感激。
很奇怪...我无法让登录表单正常工作,但如果我将它放入两次,第二组表单接缝就可以正常工作。
<form class="navbar-form navbar-right">
<div class="form-group">
<?php if ($this->Session->read('Auth.User.id')): ?>
<?php
print
'Welcome back ' . $this->Session->read('Auth.User.name') . '' .
$this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
?>
<?Php else: ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<!--// echo $this->Form->create('User', array('action' => 'login', 'class' => 'form-inline'));
// echo $this->Form->input('username');
// echo $this->Form->input('password');
// echo $this->Form->end(__('Login'));
-->
<?php endif; ?>
</div>
</form>
此方法 100% 有效,但此方法(以下)无效:
<form class="navbar-form navbar-right">
<div class="form-group">
<?php if ($this->Session->read('Auth.User.id')): ?>
<?php
print
'Welcome back ' . $this->Session->read('Auth.User.name') . '' .
$this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout'));
?>
<?Php else: ?>
<?php
echo $this->Form->create('User', array(
'action' => 'login',
'class' => 'form-inline',
'role' => 'form',
'inputDefaults' => array(
'div' => array('class' => 'form-group'),
'class' => array('form-control'),
'label' => false,
'wrapInput' => false
)));
?>
<?php
echo $this->Form->input('username', array(
'placeholder' => 'Username'
));
?>
<?php
echo $this->Form->input('password', array(
'placeholder' => 'Password'
));
?>
<?php
echo $this->Form->submit('Sign in', array(
'div' => 'form-group',
'class' => 'btn btn-success'
));
?>
<?php echo $this->Form->end(); ?>
<!--// echo $this->Form->create('User', array('action' => 'login', 'class' => 'form-inline'));
// echo $this->Form->input('username');
// echo $this->Form->input('password');
// echo $this->Form->end(__('Login'));
-->
<?php endif; ?>
</div>
</form>
有人知道为什么会发生这种情况吗?我确信我昨晚让它工作了,但我今天无法让它工作。如果需要,我可以添加更多代码。请注意,我正在使用 boostcake 插件,但在 appController 中禁用了它的助手,并在 bootstrap 中将其删除,没有区别。
我觉得有点傻,但问题是我使用了表单 html 元素而不是 div,这一定会以某种方式影响蛋糕构建表单的方式。如果有人有答案,我很想知道更多。建设性意见将不胜感激。