PHP, MySQL, Drupal, .htaccess, Robots.txt, Phponwebsites: Login using email and username in Drupal 7

15 Apr 2016

Login using email and username in Drupal 7

   This blog describes about how to login using both email and username in Drupal 7. All of you know we could login using only username in Drupal 7.

Login using mail address and usename in Drupal 7


       I've tried to login using email without any contrib modules. Finally i got the code. First alter form to add custom form validation. In custom form validation, get the name from user table by email and set that value into name field in form.  Let see the code:

<?php
/**
 * Implement hook_form_alter().
 */
function phponwebsites_form_alter(&$form, &$form_state, $form_id) {

  if ($form_id == "user_login" || $form_id == "user_login_block") {
    $form['name']['#title'] = t('Username or E-mail Address');
    // Ensure a valid validate array.
    $form['#validate'] = is_array($form['#validate']) ? $form['#validate'] : array();
    // login using username or email address
    array_unshift($form['#validate'],'phponwebsites_user_login_validate');
  }
}

 /**
 * Implement phponwebsites_user_login_validate()
 *
 * Return name by its email address
 */
function phponwebsites_user_login_validate($form, &$form_state) {
  if (isset($form_state['values']['name']) && strpos($form_state['values']['name'], '@') !== false) {
      $name = db_query("SELECT name FROM {users} WHERE LOWER(mail) = LOWER(:name)", array(':name' => $form_state['values']['name']))->fetchField();
    }
  if (isset($name)) {
    form_set_value($form['name'], $name, $form_state);
  }
}

   Now you can login using both username and email. I've hope you know how to login using both username and email in Drupal 7.

19 comments:

  1. Or you could use a more standard approach like https://www.drupal.org/project/email_registration or https://www.drupal.org/project/logintoboggan which are both widely used and adopted.

    ReplyDelete
  2. Also, the Super Login module accomplishes this in a lightweight way without the bloat of the logintoboggan module: https://www.drupal.org/project/super_login

    ReplyDelete
  3. The least expensive approach to set up and consistently manufacture an enrollment site is to make a direct mail advertisement.
    TalkTalk login/

    ReplyDelete
  4. The developer has moved a module that meets your need from the sandbox to the project page:
    https://www.drupal.org/project/login_email

    The module exists as 7.x-1.x-dev It works as is...looks like a bit of assistance can turn this into an official release.

    Email Registration changes the registration process and Login Toboggan is pretty heavy.

    ReplyDelete
  5. Took me time to read all the comments, but I really enjoyed the article. It proved to be Very helpful to me and I am sure to all the commenters here! It’s always nice when you can not only be informed, but also entertained! email extractor 6.6.5.5 registration key

    ReplyDelete
  6. It is truly a well-researched content and excellent wording. I got so engaged in this material that I couldn’t wait reading. I am impressed with your work and skill. Thanks. g mass

    ReplyDelete
  7. I exactly got what you mean, thanks for posting. And, I am too much happy to find this website on the world of Google. how to send personalized emails in gmail

    ReplyDelete
  8. This comment has been removed by the author.

    ReplyDelete
  9. Keeping record of client IP and login time in the information base under the client account. hotmail login

    ReplyDelete
  10. Very helpful! The concept of creating sticky brand names was thoroughly explained and indeed a course to take! CBT Email Extractor

    ReplyDelete
  11. i am always looking for some free stuffs over the internet. there are also some companies which gives free samples. https://officialbopkingdlow.com/

    ReplyDelete
  12. So lot to occur over your amazing blog. Your blog procures me a fantastic transaction of enjoyable.. Salubrious lot beside the scene. Free Email Extractor Software Download

    ReplyDelete
  13. Wow! This could be one of the most useful blogs we have ever come across on thesubject. Actually excellent info! I’m also an expert in this topic so I can understand your effort. here

    ReplyDelete
  14. Keep up the good work; I read few posts on this website, including I consider that your blog is fascinating and has sets of the fantastic piece of information. Thanks for your valuable efforts. 토토커뮤니티

    ReplyDelete
  15. nice post, keep up with this interesting work. It really is good to know that this topic is being covered also on this web site so cheers for taking time to discuss this! 안전놀이터

    ReplyDelete
  16. This is my first time i visit here. I found so many interesting stuff in your blog especially its discussion. From the tons of comments on your articles, I guess I am not the only one having all the enjoyment here keep up the good work Zendable

    ReplyDelete
  17. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. 대전1인샵

    ReplyDelete
  18. An interesting dialogue is price comment. I feel that it is best to write more on this matter, it may not be a taboo topic however usually individuals are not enough to talk on such topics. To the next. Cheers. 먹튀검증

    ReplyDelete
  19. Keep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. 먹튀검증

    ReplyDelete