Page Index Toggle Pages: [1] 2 3 4
Topic Tools
Very Hot Topic (More than 25 Replies) [Serious] Check usernames when registering (Read 19,273 times)
Jennie123
Full Member
***
Offline



Posts: 307
Location: My Location
[Serious] Check usernames when registering
Mar 5th, 2009 at 1:12am
Post Tools
I have 20,000 registered members.  My new users are complaining about how hard it is to register now because all the common, popular, and even some unusual usernames are already in use.  They almost give up looking for a username, and I'm certain many more do.

The registration page resets itself while trying to find a user name or if you get anything wrong it does the same thing. You have to fill out ALL the information again and again and again  while trying to find a user name.

You may want to offer a  line to see if a user name is available they checks it without resetting the form.
« Last Edit: Mar 25th, 2010 at 2:19am by »  
Back to top
 
IP Logged
 
Corey Chapman
YaBB Administrator
*****
Online



Posts: 10,037
Location: Rock Hill, South Carolina

None
Re: Check usernames when registering
Reply #1 - Mar 5th, 2009 at 1:25pm
Post Tools
Unilat!

What about using Ajax for the registration form?  It will check the email address for proper syntax, verify the captcha code (if enabled), and check the username.  Each section of the form will refresh with the proper errors (or new captcha and error).  You never leave the form, unless everything is a success.  For those without Ajax supported systems, it takes the values and brings them back onto the refreshed page (except maybe the username which was wrong, the captcha, and the password).
« Last Edit: Mar 5th, 2009 at 1:25pm by Corey Chapman »  

Back to top
IP Logged
 
deti
Legacy Dev Team
Development Team
****
Offline



Posts: 2,650
Location: Prien am Chiemsee, Germany
Re: Check usernames when registering
Reply #2 - Mar 5th, 2009 at 8:15pm
Post Tools
Good point!

Unilat can you write this? I suggest to check the

Choose user ID:
Choose displayed name:
Email:

input fields if the focus on each is gone after you went in one of them before, then send a request to the server. If all is OK, nothing happens. If the name or email is taken a red, bold text appears beneath the input field telling this.
« Last Edit: Mar 5th, 2009 at 8:17pm by deti »  

Was immer Du tun kannst
oder erträumst tun zu können,
beginne es.
Kühnheit besitzt Genie,
Macht und magische Kraft.
Beginne es jetzt.
Whatever you can do
or dream you can,
begin it.
Boldness has genius,
power and magic in it.
Begin it now.
J. W. Goethe
Back to top
WWW  
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Re: Check usernames when registering
Reply #3 - Mar 7th, 2009 at 2:17am
Post Tools
I might get a chance to look at it tomorrow  Wink
  
Back to top
 
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Username and Email availability (AJAX)
Reply #4 - Jul 9th, 2009 at 1:54am
Post Tools
This was asked a while ago and I finally had time to whip up the code. Test it out at:

http://nbvrl.servebeer.com/~shoutbox/cgi-bin/yabb2/YaBB.pl

This was written on 2.4 non database code. So it may or may not work on the base Y3 code. But I figured I'd better not write it on the new code as it is going to go through major changes and this could possibly be added to 2.x series instead of waiting until 3.0

Anyways, when you lose focus on the user id and email boxes a notification will appear beneath telling whether the user id/email is "Taken" or "Not Taken" and are color coded red and green.

Tell me whether its 2.x or 3.x and I'll provide the changes granted there are no errors you find first  Wink

Oh, and some same id's and emails that are taken so you can test:

ids: admin, Adderyiff
emails: bob@bob.com, calvar@columbus.rr.com

Beneath are possible replacement images rather than text which I created myself  Wink
« Last Edit: Jul 9th, 2009 at 2:58am by Unilat »  

Check.png ( 2 KB | 250 Downloads )
Check.png
Cross.png ( 2 KB | 279 Downloads )
Cross.png
Back to top
 
IP Logged
 
Matt Siegman
YaBB Legends (Inactive)
*
Offline



Posts: 3,380
Location: Wichita, KS
Re: Username and Email availability (AJAX)
Reply #5 - Jul 9th, 2009 at 3:36am
Post Tools
This is pretty neat.

All new features will go into Y3, so that's what you should target Wink

We're just starting the really big changes, so your code will probably still work with the current Y3 codebase.
  

-- Matt Siegman 8) Wish List
Back to top
 
IP Logged
 
cepheid
Senior Member
****
Offline



Posts: 516
Re: Username and Email availability (AJAX)
Reply #6 - Jul 9th, 2009 at 4:00am
Post Tools
Great feature, this would certainly help on larger boards.  I'd recommend using text instead of images because the "X" doesn't tell people why the entry was rejected... having text would make it clear that "this username is already taken."

If you haven't done so already, this should also extend to the Displayed Name.

You might also want to update the "Taken" and "Not Taken" text to be a bit longer, e.g. "This username is already registered; please choose another" and/or "This username is available!"
« Last Edit: Jul 9th, 2009 at 4:02am by cepheid »  
Back to top
WWW  
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Re: Username and Email availability (AJAX)
Reply #7 - Jul 9th, 2009 at 2:40pm
Post Tools
Try again. Included images and text as well as display name checking.

Taken display name: Unilat
« Last Edit: Jul 9th, 2009 at 2:42pm by Unilat »  
Back to top
 
IP Logged
 
deti
Legacy Dev Team
Development Team
****
Offline



Posts: 2,650
Location: Prien am Chiemsee, Germany
Re: Check usernames when registering
Reply #8 - Jul 9th, 2009 at 4:26pm
Post Tools
Unilat wrote on Mar 7th, 2009 at 2:17am:
I might get a chance to look at it tomorrow

Grin Tomorrow? 4 month have past. Grin

Wink

Good job Unilat!! Can you attach a zip with the changed files so I can overtake it into Y3?
« Last Edit: Jul 9th, 2009 at 4:31pm by deti »  

Was immer Du tun kannst
oder erträumst tun zu können,
beginne es.
Kühnheit besitzt Genie,
Macht und magische Kraft.
Beginne es jetzt.
Whatever you can do
or dream you can,
begin it.
Boldness has genius,
power and magic in it.
Begin it now.
J. W. Goethe
Back to top
WWW  
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Re: Check usernames when registering
Reply #9 - Jul 9th, 2009 at 5:17pm
Post Tools
I have much more time now to provide fixes and new features since school is out. Work is pretty slow and I have time here (where I am now) to do things in between.

So anything you need just ask, especially AJAX features lol. But of course I'll modify other things as well. Sometimes AJAX can be tiring.  Tongue

Here are the changed files. All that needs to be done is find the appropriate place to put the strings from Register.pl. They are hardcoded into the printed javascript variables and should be moved to register.lng.
  

RegisterAvailability.zip ( 29 KB | 202 Downloads )
Back to top
 
IP Logged
 
cepheid
Senior Member
****
Offline



Posts: 516
Re: Check usernames when registering
Reply #10 - Jul 9th, 2009 at 7:29pm
Post Tools
Unilat wrote on Jul 9th, 2009 at 2:40pm:
Try again. Included images and text as well as display name checking.

Looks great.  One thing: you might want to make the searches case-insensitive, especially for the email address and displayed name, since YaBB isn't case-sensitive on those.

(I'm not sure if YaBB is case-sensitive on usernames or not.)

Or, I can do it, plus add the appropriate Register.lng text, once it's integrated into SVN. Smiley
« Last Edit: Jul 9th, 2009 at 7:31pm by cepheid »  
Back to top
WWW  
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Re: Check usernames when registering
Reply #11 - Jul 9th, 2009 at 7:46pm
Post Tools
I dont think YaBB is case sensitive when it comes to user ids. It would make sense not to be so two people werent named the same thing with only a variation in capital letters. If it is not, then go ahead and make the changes once the files are in SVN. deti probably will make the language changes before he submits them but if not then go ahead and do those too  Wink
  
Back to top
 
IP Logged
 
deti
Legacy Dev Team
Development Team
****
Offline



Posts: 2,650
Location: Prien am Chiemsee, Germany
Re: Check usernames when registering
Reply #12 - Jul 9th, 2009 at 7:57pm
Post Tools
Hmmm, Register.pl does it this way as I modified you sub Unilat:
Code
Select All
sub checkUserAvail {
	my $taken = "false$INFO{'type'}";

	if ($INFO{'type'} eq "email") {
		$INFO{'email'} =~ s~\A\s+|\s+\z~~g;
		if (lc $INFO{'email'} eq lc &MemberIndex("check_exist", $INFO{'email'})) { $taken = "trueemail" };
	} elsif ($INFO{'type'} eq "display") {
		$INFO{'display'} =~ s~\A\s+|\s+\z~~g;
		if (lc $INFO{'display'} eq lc &MemberIndex("check_exist", $INFO{'display'})) { $taken = "truedisplay" };
	} elsif ($INFO{'type'} eq "user") {
		$INFO{'user'} =~ s~\A\s+|\s+\z~~g;
		$INFO{'user'} =~ s/\s/_/g;
		if (lc $INFO{'user'} eq lc &MemberIndex("check_exist", $INFO{'user'})) { $taken = "trueuser" };
	}

	print "Content-type: text/plain\n\n$taken";

	CORE::exit; # This is here only to avoid server error log entries!
} 

  

Was immer Du tun kannst
oder erträumst tun zu können,
beginne es.
Kühnheit besitzt Genie,
Macht und magische Kraft.
Beginne es jetzt.
Whatever you can do
or dream you can,
begin it.
Boldness has genius,
power and magic in it.
Begin it now.
J. W. Goethe
Back to top
WWW  
IP Logged
 
Jet Li
Legacy Dev Team
Development Team
****
Offline



Posts: 6,588
Location: Hong Kong
Re: Check usernames when registering
Reply #13 - Jul 9th, 2009 at 9:26pm
Post Tools
New
cgi-bin/yabb2/Languages/English/Register.lng
cgi-bin/yabb2/Sources/Register.pl
cgi-bin/yabb2/Sources/SubList.pl
cgi-bin/yabb2/Sources/UserSelect.pl
cgi-bin/yabb2/YaBB.pl
public_html/yabbfiles/ajax.js
public_html/yabbfiles/Templates/Forum/default/Check.png
public_html/yabbfiles/Templates/Forum/default/Cross.png
public_html/yabbfiles/Templates/Forum/yabb21/Check.png
public_html/yabbfiles/Templates/Forum/yabb21/Cross.png

in SVN.

Changelog:
=============
- Added user ID, Displayed Name and Email Ajax Check
  

PM me for YaBB Installation Service
Back to top
WWWGTalkFacebook  
IP Logged
 
Unilat
Development Team
Theme Team
****
Offline



Posts: 1,047
Location: Columbus Ohio, USA
Re: Check usernames when registering
Reply #14 - Jul 9th, 2009 at 11:03pm
Post Tools
Is MemberIndex new? I had no clue it was there if its old!  Cheesy

Those changes are fine, although either way didnt make too much of a difference.
  
Back to top
 
IP Logged
 
Page Index Toggle Pages: [1] 2 3 4
Topic Tools
 
  « Board Index ‹ Board  ^Top