我为我的yii应用程序安装了一个bootstrap主题,以便在其登录页面上显示。
如何将这些表单中输入的信息传递给login.php
?
另外,如何在主题中点击“登录”按钮来调用login.php
中的“登录”按钮?
这些是bootstrap主题中的表单:
<div class="clearfix">
<input type="text" placeholder="username">
</div>
<div class="clearfix">
<input type="password" placeholder="password">
</div>
<button class="btn primary" type="submit">Sign in</button>
这些是yii将在login.php中显示其默认主题的表单:
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Login'); ?>
</div>
答案 0 :(得分:1)
为Yii最佳实践。不要使用login.php文件而是使用controller / action,并在该操作中定义您的登录逻辑,如下所示: 登录查看文件
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'login-form',
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
)); ?>
<div class="row">
<?php echo $form->labelEx($model,'username'); ?>
<?php echo $form->textField($model,'username'); ?>
<?php echo $form->error($model,'username'); ?>
</div>
<div class="row">
<?php echo $form->labelEx($model,'password'); ?>
<?php echo $form->passwordField($model,'password'); ?>
<?php echo $form->error($model,'password'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::submitButton('Login'); ?>
</div>
这是你的控制器动作:
public function actionLogin()
{
$model=new LoginForm;
if(isset($_POST['LoginForm']))
{
$model->attributes=$_POST['LoginForm'];
if($model->validate() && $model->login()){
//Your Logic//
}
$this->render('login',array('model'=>$model));
}
答案 1 :(得分:0)
<?php $form=$this->beginWidget('CActiveForm', array(
'action'=>array('login.php')
)); ?>
通常Yii会在控制器上调用一个动作。你知道Yii的基础知识吗?