I have all the necessary .js and .css files, but here is the register/login script itself:
[php]<?php
error_reporting(E_ALL ^ E_NOTICE);
define(‘INCLUDE_CHECK’,true);
require ‘connect.php’;
require ‘functions.php’;
// Those two files can be included only if INCLUDE_CHECK is defined
session_name(‘tzLogin’);
// Starting the session
session_set_cookie_params(27246060);
// Making the cookie live for 2 weeks
session_start();
if($_SESSION[‘id’] && !isset($_COOKIE[‘tzRemember’]) && !$_SESSION[‘rememberMe’])
{
// If you are logged in, but you don’t have the tzRemember cookie (browser restart)
// and you have not checked the rememberMe checkbox:
$_SESSION = array();
session_destroy();
// Destroy the session
}
if(isset($_GET[‘logoff’]))
{
$_SESSION = array();
session_destroy();
header("Location: http://127.0.0.1/");
exit;
}
if($_POST[‘submit’]==‘Login’)
{
// Checking whether the Login form has been submitted
$err = array();
// Will hold our errors
if(!$_POST['username'] || !$_POST['password'])
$err[] = 'All fields are required.';
if(!count($err))
{
$_POST['username'] = mysql_real_escape_string($_POST['username']);
$_POST['password'] = mysql_real_escape_string($_POST['password']);
$_POST['rememberMe'] = (int)$_POST['rememberMe'];
// Escaping all input data
$row = mysql_fetch_assoc(mysql_query("SELECT * FROM playerdata WHERE user='{$_POST['username']}' AND password='".sha1($_POST['password'])."'"));
if($row['user'])
{
// If everything is OK login
$_SESSION['user'] = $row['user'];
$_SESSION['money'] = $row['money'];
$_SESSION['id'] = $row['id'];
$_SESSION['score'] = $row['score'];
$_SESSION['rememberMe'] = $_POST['rememberMe'];
// Store some data in the session
setcookie('tzRemember',$_POST['rememberMe']);
}
else $err[]='You have entered an invalid username or password.';
}
if($err)
$_SESSION['msg']['login-err'] = implode('<br />',$err);
// Save the error messages in the session
header("Location: http://127.0.0.1/");
exit;
}
else if($_POST[‘submit’]==‘Register’)
{
// If the Register form has been submitted
$err = array();
if(strlen($_POST['username'])< 9 || strlen($_POST['username'])> 18)
{
$err[]='Your username must be between 9 and 18 characters.';
}
if(preg_match('/[^a-z0-9\-\_\.]+/i',$_POST['username']))
{
$err[]='Your username contains invalid characters.';
}
if(!checkEmail($_POST['email']))
{
$err[]='Your email address is not valid.';
}
if(!count($err))
{
// If there are no errors
$pass = substr(sha1($_SERVER['REMOTE_ADDR'].microtime().rand(1,100000)),0,6);
// Generate a random password
$_POST['email'] = mysql_real_escape_string($_POST['email']);
$_POST['username'] = mysql_real_escape_string($_POST['username']);
// Escape the input data
mysql_query(" INSERT INTO playerdata(user,password,level,money,email,ip,datetime)
VALUES(
'".$_POST['username']."',
'".sha1($pass)."',
'0',
'20',
'".$_POST['email']."',
'".$_SERVER['REMOTE_ADDR']."',
NOW()
)");
if(mysql_affected_rows($link)== 1)
{
send_mail( '[email protected]',
$_POST['email'],
'Welcome to Domination Roleplay.',
'Your password is: '.$pass);
$_SESSION['msg']['reg-success']='An email has been sent containing your password. '.$pass;
}
else $err[]='That username has already been taken.';
}
if(count($err))
{
$_SESSION['msg']['reg-err'] = implode('<br />',$err);
}
header("Location: http://127.0.0.1/");
exit;
}
$script = ‘’;
if($_SESSION[‘msg’])
{
// The script below shows the sliding panel on page load
$script = '
<script type="text/javascript">
$(function(){
$("div#panel").show();
$("#toggle a").toggle();
});
</script>';
}
?>
The Sliding jQuery Panel
A register/login solution
You are free to use this login and registration system in you sites!
A Big Thanks
This tutorial was built on top of Web-Kreation's amazing sliding panel.
<?php
if(!$_SESSION['id']):
?>
<div class="left">
<!-- Login Form -->
<form class="clearfix" action="" method="post">
<h1>Member Login</h1>
<?php
if($_SESSION['msg']['login-err'])
{
echo '<div class="err">'.$_SESSION['msg']['login-err'].'</div>';
unset($_SESSION['msg']['login-err']);
}
?>
<label class="grey" for="username">Username:</label>
<input class="field" type="text" name="username" id="username" value="" size="23" />
<label class="grey" for="password">Password:</label>
<input class="field" type="password" name="password" id="password" size="23" />
<label><input name="rememberMe" id="rememberMe" type="checkbox" checked="checked" value="1" /> Remember me</label>
<div class="clear"></div>
<input type="submit" name="submit" value="Login" class="bt_login" />
</form>
</div>
<div class="left right">
<!-- Register Form -->
<form action="" method="post">
<h1>Not a member yet? Sign Up!</h1>
<?php
if($_SESSION['msg']['reg-err'])
{
echo '<div class="err">'.$_SESSION['msg']['reg-err'].'</div>';
unset($_SESSION['msg']['reg-err']);
}
if($_SESSION['msg']['reg-success'])
{
echo '<div class="success">'.$_SESSION['msg']['reg-success'].'</div>';
unset($_SESSION['msg']['reg-success']);
}
?>
<label class="grey" for="username">Username:</label>
<input class="field" type="text" name="username" id="username" value="" size="23" />
<label class="grey" for="email">Email:</label>
<input class="field" type="text" name="email" id="email" size="23" />
<label>A password will be sent to your email address provided.</label>
<input type="submit" name="submit" value="Register" class="bt_register" />
</form>
</div>
<?php
else:
?>
<div class="left">
<?php
$username = mysql_real_escape_string($_SESSION["user"]);
echo "<p>" . $row['money'] . "<p>";
echo $username;
echo '<h1>'.$_SESSION['user'].'s User Control Panel</h1>';
echo $money;
echo '<p><b><font color="#FF0000">IP Address</font></b>: <font color="#FFFFFF">'.$_SERVER['REMOTE_ADDR'].'</font></p>';
?>
<a href="?logoff">Log out</a>
</div>
<div class="left right">
<h1>Account Settings</h1>
</div>
<?php
endif;
?>
</div>
</div> <!-- /login -->
<!-- The tab on top -->
<div class="tab">
<ul class="login">
<li class="left"> </li>
<li>Welcome <?php echo $_SESSION['user'] ? $_SESSION['user'] : 'Guest';?>!</li>
<li class="sep">|</li>
<li id="toggle">
<a id="open" class="open" href="#"><?php echo $_SESSION['id']?'Open Panel':'Log In | Register';?></a>
<a id="close" style="display: none;" class="close" href="#">Close Panel</a>
</li>
<li class="right"> </li>
</ul>
</div> <!-- / top -->
[/php]
I might be doing something wrong, but I’ve been trying for hours now and can’t seem to work out how php works with mysql, seems like it does what it wants.