簡體   English   中英

Yii引導程序自定義登錄頁面

[英]Yii bootstrap custom login page

我為yii應用程序安裝了引導主題,該主題顯示在其登錄頁面上。 如何將以這些形式輸入的信息傳遞給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>

最佳實踐。 不要使用login.php文件,而要使用controller / action,並且在該動作中定義您的登錄邏輯,如下所示:Login View file

<?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));
 }
  <?php $form=$this->beginWidget('CActiveForm', array(
                    'action'=>array('login.php')
                )); ?>

通常,Yii在控制器上調用一個動作。 您知道Yii的基礎知識嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM