Codeigniter войдите или зарегистрируйтесь из той же формы - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь реализовать форму «вход или регистрация» в codeigniter.so, это единственная форма, которая принимает электронную почту, пароль и POST для нижестоящего контроллера.

Ожидание : проверьте, является ли электронная почтадублировать, если существует, отправить сообщение электронной почты, пароль для входа в систему, в противном случае отправить сообщение электронной почты, пароль для регистрации метода.

Текущее поведение : он проверяет наличие дубликатов и публикует сообщение об ошибке подтверждения, поскольку электронная почта уже завершена иНикогда не входите.

Вот логика моего пользовательского контроллера

public function index()
{
  $email = $this->input->post('email');
  $password = $this->input->post('password');
  $this->form_validation->set_rules('email', 'Email', 'is_unique[user.email]');
    if( $this->form_validation->run() === FALSE)
        {
          $this->login($email,$password);

        }
  else { $this->register($email,$password);}
}

1 Ответ

0 голосов
/ 01 декабря 2018

Согласно комментарию Алекса, использование одной кнопки создаст нежелательные учетные записи пользователей, когда пользователь неправильно введет адрес электронной почты, поэтому мы решили использовать 2 кнопки отправки (вход, регистрация) для 1 формы, которая работает, как и ожидалось, с минимальными усилиями и аккуратно.UX.просто formaction html-тег сделает свое дело !!. надеюсь, это кому-нибудь поможет!

<form class="row" name="regform" action = "<?php echo base_url()?>user/login" method="POST">
            <input type="hidden" name="ref" value=1>
            <div class="col-md-6 col-lg-3"> <input type="email" name="email" placeholder="Email Address"> </div>
            <div class="col-md-6 col-lg-3"> <input type="password" name="password" placeholder="Any Password"> </div>
            <div class="col-md-6 col-lg-3"> <button type="submit" class="btn btn--primary type--uppercase" name="signup" value="signup" formaction = "<?php echo base_url()?>user/register">Signup</button> </div>
            <div class="col-md-6 col-lg-3"> <button type="submit" class="btn btn--primary type--uppercase" name="signin" value="signin" formaction = "<?php echo base_url()?>user/login">Signin</button> </div>
        </form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...