1

我为我的 yii 应用程序安装了一个引导主题,以便在其登录页面上显示。如何将这些表单中输入的信息传递给 中的变量login.php

另外,如何使主题中的“登录”按钮调用主题中的“登录”按钮login.php

这些是引导主题中的形式:

          <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>
4

2 回答 2

1

对于 Yii 最佳实践。不要使用 login.php 文件,而是使用控制器/动作,并在该动作中定义您的登录逻辑,如下所示:登录视图文件

<?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));
 }
于 2013-03-15T06:17:37.040 回答
0
  <?php $form=$this->beginWidget('CActiveForm', array(
                    'action'=>array('login.php')
                )); ?>

通常 Yii 在控制器上调用一个动作。你了解 Yii 的基础知识吗?

于 2013-03-14T23:52:49.230 回答