Version: , by Scott MacVicar
Developer Last Online: Mar 2016
Version: 2.2.x
Rating:
Released: 11-02-2001
Last Update: Never
Installs: 25
No support by the author.
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
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
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.
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
<smallfont><a href="register.php?action=signup">Want to register?</a>
with
PHP Code:
<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
To avoid this problem, change/revise the instructions to say:
PHP Code:
----------------------------------
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];
----------------------------------
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:
PHP Code:
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>
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
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?
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.
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?
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:
PHP Code:
$getuser=$DB_site->query_first("SELECT username FROM user WHERE username='$username'");
and replace it with this:
PHP Code:
$getuser=$DB_site->query_first("SELECT username FROM user WHERE username='".addslashes($username)."');
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?