'accessuserclass', 'dbUser'=>'root', 'dbPass'=>'' ); require_once 'access.class.php'; $user = new flexibleAccess(); if (!empty($_GET['activate'])){ //This is the actual activation. User got the email and clicked on the special link we gave him/her $hash = $user->escape($_GET['activate']); $res = $user->query("SELECT `{$user->tbFields['active']}` FROM `{$user->dbTable}` WHERE `activationHash` = '$hash' LIMIT 1",__LINE__); if ( $rec = mysql_fetch_array($res) ){ if ( $rec[0] == 1 ) echo 'Your account is already activated'; else{ //Activate the account: if ($user->query("UPDATE `{$user->dbTable}` SET `{$user->tbFields['active']}` = 1 WHERE `activationHash` = '$hash' LIMIT 1", __LINE__)) echo 'Account activated. You may login now'; else echo 'Unexpected error. Please contact an administrator'; } }else{ echo 'User account does not exists'; } } if (!empty($_POST['username'])){ //Register user: //Get an activation hash and mail it to the user $hash = $user->randomPass(100); while( mysql_num_rows($user->query("SELECT * FROM `{$user->dbTable}` WHERE `activationHash` = '$hash' LIMIT 1"))==1)//We need a unique hash $hash = $user->randomPass(100); //Adding the user. The logic is simple. We need to provide an associative array, where keys are the field names and values are the values :) $data = array( 'username' => $_POST['username'], 'email' => $_POST['email'], 'password' => $_POST['pwd'], 'activationHash' => $hash, 'active' => 0 ); $userID = $user->insertUser($data);//The method returns the userID of the new user or 0 if the user is not added if ($userID==0) echo 'User not registered';//user is allready registered or something like that else { echo 'User registered with user id '.$userID. '. Activate your account using the instructions on your mail.'; //Here is a sample mail that user will get: $email = 'Activate your user account by visiting : '. $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'] .'?activate='.$hash; mail($_POST['email'], 'Activate your account', $email); } } ?>

Register

username:

password:

email: