PDA

View Full Version : Username Checker


Scott MacVicar
11-02-2001, 10:00 PM
When the user clicks the register link their taken to a page where they only enter their username. When they push submit it checks the username, if taken it allows them to keep entering usernames until one that is not taken is found. Registration now resumes as normal. When they reach the signup form the username is already in the Username part of the form.

Request from nighteyes.

Last Updated 2nd November 2001 at 17:00 GMT

afterlab
11-03-2001, 04:48 PM
Great hack, worked and installed w/ out a problem! Great idea.

BTW: I am on a 2.03 and it worked on my version.

Scott MacVicar
11-03-2001, 05:02 PM
afterlab i forgot to mention in the readme you got,

open register.php
looks for

if ((!isset($action) or $action=="") and (!isset($a) or $a=="")) {
$action="signup";
}

change to

if ((!isset($action) or $action=="") and (!isset($a) or $a=="")) {
$action="check";
}

sorry about that.

now i gotta go give me kitten some sedatives, stupid fireworks :mad:

afterlab
11-03-2001, 05:12 PM
Ok thanks for the heads up, I changed it. Still working fine.

Dark Blaze
11-30-2001, 11:52 AM
Awsome hack :)

Exactly what I needed for my forum's users.

I'm going to install it very soon indeed.

Jawelin
01-19-2002, 08:39 AM
Thanks for your work.

Excuse, is there any SS anywhere ?

I'm first interested in the behavior of original registration page: if I'd check the username in a previous page and only fill the field in the new one, but that field is still editable, I think that feature could be easly overcome.

Understand, I didn't installed the hack yet, but simply would investigate the option to make all the check on the same page, even the username dupe checker...
Besides, could I extend this feature to AdminCP user editing ? I didn't installed your UserCP username self-change, and would make the same dupe-checks within admin/user.php cation=edit...
What do you think about ?

Thanks a lot.

Jawelin
01-20-2002, 10:48 AM
Sorry but don't understand: in v2.2.x already exists a template displayed when the "username is in use" ...
:confused:
Anyway is still possible change via AdminCP the username and make it identical to other one ...
:o
Thnx

Scott MacVicar
01-20-2002, 01:10 PM
instead of filling out the entire form, then clicking submit and then getting a username in use error and having to go back and enter it all again.

This simply asks what username you want checks it, if its not in use you get taken to the usualy register form.

Jawelin
01-20-2002, 01:45 PM
Ah, ok. Thanks and sorry for the stupid question.
;)

Shenlong
01-20-2002, 02:44 PM
seems like its working good, im happy :)

NoliaBoy
01-28-2002, 03:07 AM
its like aim basicly. Right ?

BTW i havnt installed yet be when i get home later i will

fixer
02-08-2002, 11:37 AM
thanx PPN for this hack.

after i have installed this, it is working great.

the only problem is that it reditrected me ,after checking the nickname and pressing the accept botton, into a coppa registration form insted of adult form.

and i am sure that coppa regestration system is turned off in the control panel.

so what sould i do to fix that.

and thanx again man.

PET
03-16-2002, 10:47 PM
Don't work. I have do al the thing but....if i search for a unsername that exist he tell me that he exist.... BUT if i search on a me that don't exist he is going to register.php ...but don't show the page. Just an white page. What should i do ? 10x

xamu
07-02-2002, 09:28 PM
I believe there's an omission:

In username_loggedout:

Replace:<smallfont><a href="register.php?action=signup">Want to register?</a> with<smallfont><a href="register.php?action=check">Want to register?</a> There's also a couple changes I made that makes it much nicer, IMHO. Personally I think it's pretty bad to tell a new user:

Our records show that you have already registered at this board under the name of $username. If you have lost your password, click here. If you would like to modify your profile, click here.

Talk about confusing the newbie :eek:

To avoid this problem, change/revise the instructions to say:----------------------------------
Open register.php
----------------------------------

looks for

if ((!isset($action) or $action=="") and (!isset($a) or $a=="")) {
$action="signup";
}

change to

if ((!isset($action) or $action=="") and (!isset($a) or $a=="")) {
$action="check";
}

now look for

if ($url==$HTTP_REFERER) {
$url=urlencode($url);
}

below that add

// ############################### start docheck ###############################
if ($action=="docheck") {
$getuser=$DB_site->query_first("SELECT username FROM user WHERE username='$username'");
if (empty($getuser[username])) {
$action="signup";
}
else {
$action="check";
eval ("\$error = \"".gettemplate("error_usernameexists")."\";");
}
}

// ############################### start check ###############################
if ($action=="check") {

if (!$allowregistration) {
eval("standarderror(\"".gettemplate("error_noregister")."\");");
exit;
}

if ($bbuserinfo[userid]!=0 and !$allowmultiregs) {
$getuser=$DB_site->query_first("SELECT username FROM user WHERE userid='$bbuserinfo[userid]'");
$username=$getuser[username];

eval("standarderror(\"".gettemplate("error_usernameexists")."\");");

exit;
}

eval("dooutput(\"".gettemplate("signupcheck")."\");");

}
and replace these instructions:Add the following template

----------------------------------
signupcheck
----------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>$bbtitle - Register</title>
$headinclude
</head>
<body>
$header

<br>

<table cellpadding="0" cellspacing="0" border="0" bgcolor="#555576" width="100%" align="center"><tr><td>
<table cellpadding="4" cellspacing="1" border="0" width="100%">
<tr id="cat">
<td bgcolor="#606096" width="100%"><normalfont color="#FFF788"><b>Register @ $bbtitle</b></normalfont></td>
</tr>
<tr>
<td bgcolor="#8080A6" width="100%"><normalfont color="#EEEEFF"><b>Check your username</b></normalfont></td>
</tr>
<tr>
<td bgcolor="#DFDFDF" width="100%">
<p align="center"><normalfont>Please fill in your username to confirm that it is free for use.<br>
$error
<form action="register.php" method="post">
<input type="hidden" name="s" value="$session[sessionhash]">
<b>Username:</b><input type="text" class="bginput" name="username" size="25" maxlength="$maxuserlength">
<input type="hidden" name="action" value="docheck">
<input type="submit" class="bginput" name="Submit" value="Submit">
<input type="reset" class="bginput" name="Reset" value="Reset">
</form>
</normalfont></p>
</td>
</tr>
</table>
</td></tr></table>

$footer

</body>
</html>with:Add the following templates

----------------------------------
error_usernameexists
----------------------------------
<BR><FONT color=red>Our records show that someone has already
registered at this board under the name of </FONT>
<BR><BR>
<B><I>$username</I></B>
<BR><BR>
<FONT color=red>You will need to choose a different username.</FONT>
<BR><BR>


----------------------------------
signupcheck
----------------------------------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head><title>$bbtitle - Register</title>
$headinclude
</head>
<body>
$header

<br>

<table cellpadding="0" cellspacing="0" border="0" bgcolor="#555576" width="100%" align="center"><tr><td>
<table cellpadding="4" cellspacing="1" border="0" width="100%">
<tr id="cat">
<td bgcolor="#606096" width="100%"><normalfont color="#FFF788"><b>Register @ $bbtitle</b></normalfont></td>
</tr>
<tr>
<td bgcolor="#8080A6" width="100%"><normalfont color="#EEEEFF"><b>Check your username</b></normalfont></td>
</tr>
<tr>
<td bgcolor="#DFDFDF" width="100%">
<p align="center"><normalfont>$error
Please enter in your desired username to confirm that it is not being used by someone else.<br>
<form action="register.php" method="post">
<input type="hidden" name="s" value="$session[sessionhash]">
<b>Username:</b> <input type="text" class="bginput" name="username" size="25" maxlength="$maxuserlength">
<input type="hidden" name="action" value="docheck">
<input type="submit" class="bginput" name="Submit" value="Submit">
<input type="reset" class="bginput" name="Reset" value="Reset">
</form>
</normalfont></p>
</td>
</tr>
</table>
</td></tr></table>

$footer

</body>
</html>

BigJohnson
07-04-2002, 10:30 AM
This is wierd. Mine is not working any more for come reason. I am using 2.2.5. It always use to work. But now when i use the action=check url it just brings me right back to the area where it says Type Username and password to log in. HELP

Boofo
07-04-2002, 10:49 AM
xamu,

Can you put together a text file with all of your instructions for us? It seems the colors were parsed here. Is this the way you are running it on your board and if so, is it working? :)

xamu
07-05-2002, 02:32 PM
Yeah, mine seems to be working. Here's the updated instructions. If PPN wants to put it in the first post then that's fine. As it is said, "if I have seen farther than others it is because I have stood on the shoulders of giants." IOW, all the hard was already done. :cool:

Boofo
01-02-2003, 06:05 PM
This is working great except if you don't enter a name to check and leave the box blank, when you hit submit it will take you directly to the registration procedure. Is there a way to check and make sure they enter a name of some sort instead of just spaces or nothing at all?

Boofo
01-12-2003, 05:52 AM
I found a possible bug with this hack. If a new user signs on with an apostrophe in their name (like this: Man'owar) they will get a db error. To fix this:

Find:
$getuser=$DB_site->query_first("SELECT username FROM user WHERE username='$username'");

and replace it with this:

$getuser=$DB_site->query_first("SELECT username FROM user WHERE username='".addslashes($username)."');

Boofo
03-16-2003, 11:50 AM
Is there any way to have this hack check for the usernames you have entered in the Admin CP that are not allowed before it passes it on? Right now, if you enter a username that is not allowed (from the admin CP), it will take you all through the registration process until you hit submit, then you will get the error message. Any way to correct this before it goes that far?

Kaelon
04-06-2003, 10:53 PM
This is a nifty hack, and it is something that I've been looking for. Specifically, I run a role playing community board, and I'd like my users to have fantasy-specific names, so a checker that would be useful would prohibit names that:

- have numerical values
- have underscores or non alphabetic or apostrophe symbols
- are already being used

Is there a way to easily adapt this hack to run a check on these circumstances?

Thanks for your help!

Regards,
Kaelon

Esdee
09-17-2004, 02:17 AM
Is there any way to have this hack check for the usernames you have entered in the Admin CP that are not allowed before it passes it on? Right now, if you enter a username that is not allowed (from the admin CP), it will take you all through the registration process until you hit submit, then you will get the error message. Any way to correct this before it goes that far?


Anybody ?

The kack kinda loses it's point without this feature :(