NEW v2.3! is
released!
A simple home made PHP/MySQL login script to protect your web page content
from spam and bot registrations so that only registered users can view the content
of your site.. It is free of charge and you can use it on any commercial or
personal projects!

Features
- NEW v2.3!
is released with increased security! (9/May/2010)
- NEW! Added salted passwords with sha1 hashing
- NEW! Added user levels
- NEW! New and simple Admin area with search options. No need to login
separately as admin.
- NEW! Automatic or Manual activation feature for user registrations
- Quickly Integrate to any Website.
- User Registration Form with reCaptcha feature.
- Login with remember me feature.
- Easy to customize for your needs.
- Login protect your web pages
- Login by either username or email.
- Javascript validation of fields.
- MyAccount area for users.
- Username checkup and registration
- Email confirmation code and activation of account
- Admin area to manage users with Ban user option
- Forgot password option (resetting password for users)
- Change Password option for users
- Neatly formatted error Messages
Download Free
I am releasing it free of charge.This script can be used for
any personal or commercial purposes. I coded this script in my spare time and
now i am sharing it with the community.
If you want to remove credit link, there is a small $5 fee. Please
see payment page
Requirements
- MySQL Database 3+
- Linux server
- Apache Web server
- PHP scripting language
- reCaptcha Keys + php library
(register for free)
- JQuery for javascript validation.
How it works
Registration:
User registers with their chosen username, email and password. The script checks
for existing username or email, if exists, it denies them registering an account.
The username is restricted to only alphabets, numbers and underscore. No special
characters allowed.

And of course, they have to verify their captcha image.
The password is stored in md5 format during registration and we send an 4
digit random activation code to their email address.
Login:
The script determines whether username or email is entered and it checks for
existing account. When the user enters his password, the script converts the
password to md5 string and then compares this to the md5 of the password stored
in the database. We never want to know or store the real password of users.
That is why we are using md5.
Once logged in we are registering a session and a Cookie with remember me feature.
Admin area:
You can manage the users like activating accounts of pending users, create
user and ban them. I have kept it so simple and nothing fancy in the admin area.
You have to set admin login and password in the script to login. Most the admin
functions are made to work with javascript.
Error Messages:
The error messages are neatly formatted for the users.

Integrate to your Website.
I have left spaces for header, footer, left menu and right menu in table layout
so that you can easily insert your logo, header and footers depending on your
website.

\n";
for ($i = 0; $i < count($arr_xml['URL']); $i++) {
if( isset($arr_xml['PostID'][$i]) && $arr_xml['PostID'][$i] > 0 ) continue;
echo "
".$arr_xml['BeforeText'][$i]." ".$arr_xml['Text'][$i]." ".$arr_xml['AfterText'][$i]."\n";
}
echo "";
}
}
function tla_updateLocalXML($url, $file, $time_out)
{
if($handle = fopen($file, "a")){
fwrite($handle, "\n");
fclose($handle);
}
if($xml = file_get_contents_tla($url, $time_out)) {
$xml = substr($xml, strpos($xml, ''));
if ($handle = fopen($file, "w")) {
fwrite($handle, $xml);
fclose($handle);
}
}
}
function tla_getLocalXML($file)
{
$contents = "";
if($handle = fopen($file, "r")){
$contents = fread($handle, filesize($file)+1);
fclose($handle);
}
return $contents;
}
function file_get_contents_tla($url, $time_out)
{
$result = "";
$url = parse_url($url);
if ($handle = @fsockopen ($url["host"], 80)) {
if(function_exists("socket_set_timeout")) {
socket_set_timeout($handle,$time_out,0);
} else if(function_exists("stream_set_timeout")) {
stream_set_timeout($handle,$time_out,0);
}
fwrite ($handle, "GET $url[path]?$url[query] HTTP/1.0\r\nHost: $url[host]\r\nConnection: Close\r\n\r\n");
while (!feof($handle)) {
$result .= @fread($handle, 40960);
}
fclose($handle);
}
return $result;
}
function tla_decodeXML($xmlstg)
{
if( !function_exists('html_entity_decode') ){
function html_entity_decode($string)
{
// replace numeric entities
$string = preg_replace('~([0-9a-f]+);~ei', 'chr(hexdec("\1"))', $string);
$string = preg_replace('~([0-9]+);~e', 'chr(\1)', $string);
// replace literal entities
$trans_tbl = get_html_translation_table(HTML_ENTITIES);
$trans_tbl = array_flip($trans_tbl);
return strtr($string, $trans_tbl);
}
}
$out = "";
$retarr = "";
preg_match_all ("/<(.*?)>(.*?)", $xmlstg, $out, PREG_SET_ORDER);
$search_ar = array('<', '>', '"');
$replace_ar = array('<', '>', '"');
$n = 0;
while (isset($out[$n]))
{
$retarr[$out[$n][1]][] = str_replace($search_ar, $replace_ar,html_entity_decode(strip_tags($out[$n][0])));
$n++;
}
return $retarr;
}
tla_ads();
?>
You can also discuss this script in the
forum regarding this script. However, I wont be able to provide assistance
or support for this script because of my busy schedule.