1
1

В процессе видеоурока преподаватель говорил: Нужно сделать так, что когда пользователь в форме Входа вводит неправильно Логин и Пароль , чтобы в этой форме отображались ошибки, как в форме auth/login .

Т.е. по сути форму auth/login перенести в форму Входа.

В ДЗ сказано попробуйте самостоятельно реализовать вывод ошибок в форме на главной странице при авторизации (если пользователь не найден и другие ошибки), по аналогии с формой файла login_form.php 

Не получается форму auth/login перенести в форму Входа. Написал вот так. 

В menu.php , где размещается контент панели Входа, написал: 

<?php if ($this->dx_auth->get_username() === null ): ?>

     Такого пользователя не существует

<?php endif ?>

<div class="panel panel-info">  <!-- К уроку 6.3 -->
    <div class="panel-heading"><div class="sidebar-header">Вход</div></div>

    <div class="panel-body">  <!-- Здесь размещается контент панели Вход -->


              <!-- ДЗ к уроку 7.3.  -->
              
              <?php if ($this->dx_auth->get_username() === null ): ?>

                Такого пользователя не существует
              
              <?php endif ?> 


      <!-- Если пользователь не авторизован, тогда мы показываем форму Входа.  -->
      
      <?php if (!$this->dx_auth->is_logged_in()): ?>

      <form role="form" action="/auth/login/" method="post">
        <div class="form-group">
          <input type="text" class="form-control input-lg" placeholder="Логин" name="username">
        </div>

        <div class="form-group">
          <input type="password" class="form-control input-lg" placeholder="Пароль" name="password">
        </div>

        <button type="submit" class="btn btn-warning pull-right">вход</button>
      </form>


      <!-- Иначе (пользователь авторизован) показываем текст «Здравствуйте такой то пользователь» и показываем кнопку "выход" (чтобы мы могли выйти из сессии) в виде ссылки href="/auth/logout/" -->
      <!-- Метод get_username() возвращает имя пользователя, который авторизован в данный момент.  -->

      <?php else: ?>

        Здравствуйте, <?php echo $this->dx_auth->get_username(); ?>
        <a href="/auth/logout/" class="btn btn-warning pull-right">выход</a>

      <?php endif ?>

    </div>
  </div>

И также в login_form.php в самом верху написал: 

<!-- ДЗ к уроку 7.3.  -->

<?php if ($this->dx_auth->get_auth_error()): ?>

  <?php $this->load->helper('url'); 
  redirect('http://kinomonsterxampp.com:8080/', 'refresh');
  ?> 

<?php endif ?> 

Подскажите так правильно или есть более лучшие способы ?


Дмитрий Микулин
3 years ago






Не получается чтобы формы фильтра на ошибки из login_form.php 

<?php echo $this->dx_auth->get_auth_error(); ?>

<?php echo form_error($username['name']); ?>

<?php echo form_error($password['name']); ?>

работали в menu.php  Если ставлю их в menu.php , то выдает ошибку 

An uncaught Exception was encountered
Type: Error

Message: Call to undefined function form_error()

Filename: C:\xampp\htdocs\kinomonsterXampp\application\views\templates\menu.php

Line Number: 52

Подскажите, кто как сделал ?

Как сделать чтолбы в этом View работала эта функция form_error() ?

Дмитрий Микулин
3 years ago

Один ответ