A login script:
SQL:
Code:
CREATE TABLE `users` (
`ID` int(10) NOT NULL auto_increment,
`username` varchar(10) collate latin1_general_ci NOT NULL,
`password` varchar(40) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`ID`)
)
login.php:
PHP Code:
<?
include sql.php;
$secretpage = 'index.php'; // Where you wanna redirect to.
if ($_POST[do_login]) {
if (!$_POST[username] OR !$_POST[password])
die('One or more fields empty! Please go back and fix that problem.');
if (strlen($_POST[username]) > 10 OR strlen($_POST[password]) > 10)
die('Possible hacking apptempt!');
$username = $_POST[username];
$password = sha1($_POST[password]);
$sql = "SELECT * FROM `users` WHERE `username` = '$username'";
$userlogin = mysql_query($sql);
if(mysql_num_rows($userlogin) == 0 OR mysql_num_rows($userlogin) > 1)
die('User cannot be found');
$userlogin = mysql_fetch_array($userlogin, MYSQL_ASSOC);
if($userlogin[password] != $password) {
die('Incorrect password'); } else {
// All checks passed, i supouse its the chosen one, i mean user.
$_SESSION['loginflag'] = $userlogin[ID]; // Mark user into sessions
header('Refresh: 3; url='. $secretpage); // Sends user after 3 seconds
die('You have been logged in, redirecting in 3 seconds');
}
}
?>
<form action="login.php" method="post">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Username:</td>
<td><input name="username" type="text" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>Password: </td>
<td><input name="password" type="password" size="10" maxlength="10" /></td>
</tr>
<tr>
<td></td>
<td><input name="do_login" type="submit" id="do_login" value="Log in!"/></td>
</tr>
</table>
</form>
signup.php (Register)
PHP Code:
<?
include sql.php
if($_POST[do_signup]) {
if (!$_POST[username] OR !$_POST[password])
die( 'One or more fields empty! Please go back and fix that problem.');
if (strlen($_POST[username]) > 10 OR strlen($_POST[password]) > 10)
die('Possible hacking apptempt!');
if (strlen($_POST[username]) < 4 OR strlen($_POST[password]) < 4)
die('Username & Password must be atleast 4 characters long!');
$username = $_POST[username];
$password = sha1($_POST[password]);
$usercheck = mysql_query('SELECT * FROM `users` WHERE `username` = \''. $username .'\'');
if(mysql_num_rows($usercheck) > 0)
die('Username already in use!');
// Let's do a handshake with new user.
mysql_query('INSERT INTO `users` (`ID`, `username`, `password`) VALUES (NULL, \''. $username .'\', \''. $password .'\');');
print 'Welcome '. $username .'! Feel free to log in!';
}
?>
<form method="post" action="index.php?a=signup">
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<th colspan="2">Here you can sign up for Habombers Scripts account! </td> </tr>
<tr>
<td>Username:</td>
<td><input name="username" type="text" size="10" maxlength="10" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input name="password" type="password" size="10" maxlength="10" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="do_signup" value="Sign Up!" /></td>
</tr>
<tr>
<td colspan="2">Please press sign up button only once! </td>
</tr>
</table>
</form>
sql.php
PHP Code:
<?
$mysql[host] = "MYSQLHOST";
$mysql[user] = "MYSQLUSER";
$mysql[pass] = "MYSQLPASS";
$mysql[table] = "MYSQLTABLE";
@mysql_connect($mysql[host], $mysql[user], $mysql[pass]) or die('Mysql error: '. mysql_error());
@mysql_select_db($mysql[table]) or die('Mysql error: '. mysql_error());
?>
Current user ID is stored in $_SESSION['loginflag']