php_value register_globals Off
php_value track_vars On
php_value arg_separator.output "&"
php_value arg_separator.input "&"
getMessage()); // If $db_object contains an error print out the
} // error and exit.
$db_object->setFetchMode(DB_FETCHMODE_ASSOC);
include('check_login.php'); // we write this later on, ignore for now.
?>
query($table); // perform query
if(DB::isError($create)) {
die($create->getMessage()); // check is query was successful
} // if not error and exit.
else{
echo 'Table created successfully.';
}
$db_object->disconnect();
?>
Register an Account
query("SELECT username FROM users WHERE username = '".$_POST['uname']."'");
if(DB::isError($name_check)) {
die($name_check->getMessage());
}
$name_checkk = $name_check->numRows();
if($name_checkk != 0) {
die('Sorry, the username: '.$_POST['uname'].' is already taken, please pick another one.');
}
// check passwords match
if($_POST['passwd'] != $_POST['passwd_again']) {
die('Sorry your password and confirmation password did not match, please try again.');
}
// check e-mail format
if(!preg_match("/.*\@.*\..*/", $_POST['email']) | preg_match("/(\<|\>)/", $_POST['email'])) {
die('Sorry the e-mail address you submitted was of invalid format.');
}
// no HTML tags in username, website, location, password
if(preg_match("/(\<|\>)/", $_POST['uname']) | preg_match("/(\<|\>)/", $_POST['passwd']) | preg_match("/(\<|\>)/", $_POST['website']) | preg_match("/(\<|\>)/", $_POST['location'])) {
die('Invalid input, no HTML tags are allowed.');
}
// check show_email data
if($_POST['show_email'] != 0 & $_POST['show_email'] != 1) {
die('Nope.');
}
/* the rest of the information is optional, the only thing we need to check is if they
submitted a website, and if so, check the format is ok. */
if($_POST['website'] != '' & !preg_match("/^(http|ftp):\/\//", $_POST['website'])) {
$_POST['website'] = 'http://'.$_POST['website'];
}
// now we can add them to the database.
// encrypt password
$_POST['passwd'] = md5($_POST['passwd']);
if(!get_magic_quotes_gpc()) {
$_POST['passwd'] = addslashes($_POST['passwd']);
$_POST['email'] = addslashes($_POST['email']);
$_POST['website'] = addslashes($_POST['website']);
$_POST['location'] = addslashes($_POST['location']);
}
$regdate = date('m d, Y');
$insert = "INSERT INTO users (username, password, regdate, email, website, location, show_email, last_login) VALUES ('".$_POST['uname']."', '".$_POST['passwd']."', '$regdate', '".$_POST['email']."', '".$_POST['website']."', '".$_POST['location']."', '".$_POST['show_email']."', 'Never')";
$add_member = $db_object->query($insert);
if(DB::isError($add_member)) {
die($add_member->getMessage());
}
$db_object->disconnect();
?>
Registered
Thank you, your information has been added to the database, you may now log in.
Register
query("SELECT password FROM users WHERE username = '".$_SESSION['username']."'");
if(DB::isError($pass)) {
$logged_in = 0;
unset($_SESSION['username']);
unset($_SESSION['password']); // kill incorrect session variables.
}
$db_pass = $pass->fetchRow();
// now we have encrypted pass from DB in $db_pass['password'], stripslashes() just incase:
$db_pass['password'] = stripslashes($db_pass['password']);
$_SESSION['password'] = stripslashes($_SESSION['password']);
//compare:
if($_SESSION['password'] == $db_pass['password']) { // valid password for username
$logged_in = 1; // they have correct info in session variables.
}
else {
$logged_in = 0;
unset($_SESSION['username']);
unset($_SESSION['password']); // kill incorrect session variables.
}
}
// clean up
unset($db_pass['password']);
$_SESSION['username'] = stripslashes($_SESSION['username']);
?>
Login
query("SELECT username, password FROM users WHERE username = '".$_POST['uname']."'");
if(DB::isError($check)) {
die('That username doesn\'t exist in our database.');
}
$info = $check->fetchRow();
// check passwords match
$_POST['passwd'] = stripslashes($_POST['passwd']);
$info['password'] = stripslashes($info['password']);
$_POST['passwd'] = md5($_POST['passwd']);
if($_POST['passwd'] != $info['password']) {
die('Incorrect password, please try again.');
}
// if we get here username and password are correct, register session variables and set
// last login time.
$date = date('m d, Y');
$update_login = $db_object->query("UPDATE users SET last_login = '$date' WHERE username = '".$_POST['uname']."'");
$_POST['uname'] = stripslashes($_POST['uname']);
$_SESSION['username'] = $_POST['uname'];
$_SESSION['password'] = $_POST['passwd'];
$db_object->disconnect();
?>
Logged in
Welcome back =$_SESSION['username']?>, you are logged in.
Login
Click here to log in.');
}
// show content
$db_object->disconnect(); // when you are done.
?>
logout';
}
else {
echo 'Not logged in. Login';
}
?>