二个用于网址顾客管理的函数库
分类:热门资源

?php$hidden_hash_var=your_password_here;$LOGGED_IN=false;//clear it out in case someone sets it in the URL or somethingunset($LOGGED_IN);/*create table user (user_id int not null auto_increment primary key,user_name text,real_name text,email text,password text,remote_addr text,confirm_hash text,is_confirmed int not null default 0);*/function user_isloggedin() {global $user_name,$id_hash,$hidden_hash_var,$LOGGED_IN;//have we already run the hash checks?//If so, return the pre-set varif (isset($LOGGED_IN)) {return $LOGGED_IN;}if ($user_name  $id_hash) {$hash=md5($user_name.$hidden_hash_var);if ($hash == $id_hash) {$LOGGED_IN=true;return true;} else {$LOGGED_IN=false;return false;}} else {$LOGGED_IN=false;return false;}}function user_login($user_name,$password) {global $feedback;if (!$user_name || !$password) {$feedback .=  ERROR - Missing user name or password ;return false;} else {$user_name=strtolower($user_name);$password=strtolower($password);$sql=SELECT * FROM user WHERE user_name=$user_name AND password=. md5($password) .;$result=db_query($sql);if (!$result || db_numrows($result)  1){$feedback .=  ERROR - User not found or password incorrect ;return false;} else {if (db_result($result,0,is_confirmed) == 1) {user_set_tokens($user_name);$feedback .=  SUCCESS - You Are Now Logged In ;return true;} else {$feedback .=  ERROR - You haven/t Confirmed Your Account Yet ;return false;}}}}function user_Logout() {setcookie(user_name,,(time()+2592000),/,,0);setcookie(id_hash,,(time()+2592000),/,,0);}function user_set_tokens($user_name_in) {global $hidden_hash_var,$user_name,$id_hash;if (!$user_name_in) {$feedback .=  ERROR - User Name Missing When Setting Tokens ;return false;}$user_name=strtolower($user_name_in);$id_hash= md5($user_name.$hidden_hash_var);setcookie(user_name,$user_name,(time()+2592000),/,,0);setcookie(id_hash,$id_hash,(time()+2592000),/,,0);}function user_confirm($hash,$email) {/*Call this function on the user confirmation page,which they arrive at when the click the link in theaccount confirmation email*/global $feedback,$hidden_hash_var;//verify that they didnt tamper with the email address$new_hash=md5($email.$hidden_hash_var);if ($new_hash  ($new_hash==$hash)) {//find this record in the db$sql=SELECT * FROM user WHERE confirm_hash=$hash;$result=db_query($sql);if (!$result || db_numrows($result)  1) {$feedback .=  ERROR - Hash Not Found ;return false;} else {//confirm the email and set account to active$feedback .=  User Account Updated - You Are Now Logged In ;user_set_tokens(db_result($result,0,user_name));$sql=UPDATE user SET email=$email,is_confirmed=1 WHERE confirm_hash=$hash;$result=db_query($sql);return true;}} else {$feedback .=  HASH INVALID - UPDATE FAILED ;return false;}}function user_change_password ($new_password1,$new_password2,$change_user_name,$old_password) {global $feedback;//new passwords present and match?if ($new_password1  ($new_password1==$new_password2)) {//is this password long enough?if (account_pwvalid($new_password1)) {//all vars are present?if ($change_user_name  $old_password) {//lower case everything$change_user_name=strtolower($change_user_name);$old_password=strtolower($old_password);$new_password1=strtolower($new_password1);$sql=SELECT * FROM user WHERE user_name=$change_user_name AND password=. md5($old_password) .;$result=db_query($sql);if (!$result || db_numrows($result)  1) {$feedback .=  User not found or bad password .db_error();return false;} else {$sql=UPDATE user SET password=. md5($new_password1).  .WHERE user_name=$change_user_name AND password=. md5($old_password). ;$result=db_query($sql);if (!$result || db_affected_rows($result)  1) {$feedback .=  NOTHING Changed .db_error();return false;} else {$feedback .=  Password Changed ;return true;}}} else {$feedback .=  Must Provide User Name And Old Password ;return false;}} else {$feedback .=  New Passwords Doesn/t Meet Criteria ;return false;}} else {return false;$feedback .=  New Passwords Must Match ;}}function user_lost_password ($email,$user_name) {global $feedback,$hidden_hash_var;if ($email  $user_name) {$user_name=strtolower($user_name);$sql=SELECT * FROM user WHERE user_name=$user_name AND email=$email;$result=db_query($sql);if (!$result || db_numrows($result)  1) {//no matching user found$feedback .=  ERROR - Incorrect User Name Or Email Address ;return false;} else {//create a secure, new password$new_pass=strtolower(substr(md5(time().$user_name.$hidden_hash_var),1,14));//update the database to include the new password$sql=UPDATE user SET password=. md5($new_pass) . WHERE user_name=$user_name;$result=db_query($sql);//send a simple email with the new passwordmail ($email,Password Reset,Your Password .has been reset to: .$new_pass,From: noreply@company.com);$feedback .=  Your new password has been emailed to you. ;return true;}} else {$feedback .=  ERROR - User Name and Email Address Are Required ;return false;}}function user_change_email ($password1,$new_email,$user_name) {global $feedback,$hidden_hash_var;if (validate_email($new_email)) {$hash=md5($new_email.$hidden_hash_var);//change the confirm hash in the db but not the email -//send out a new confirm email with a new hash$user_name=strtolower($user_name);$password1=strtolower($password1);$sql=UPDATE user SET confirm_hash=$hash WHERE user_name=$user_name AND password=. md5($password1) .;$result=db_query($sql);if (!$result || db_affected_rows($result)  1) {$feedback .=  ERROR - Incorrect User Name Or Password ;return false;} else {$feedback .=  Confirmation Sent ;user_send_confirm_email($new_email,$hash);return true;}} else {$feedback .=  New Email Address Appears Invalid ;return false;}}function user_send_confirm_email($email,$hash) {/*Used in the initial registration functionas well as the change email address function*/$message = Thank You For Registering at PHPBuilder.com./nSimply follow this link to confirm your registration: ./n/n?hash=$hashemail=. urlencode($email)./n/nOnce you confirm, you can use the services on PHPBuilder.;mail ($email,PHPBuilder Registration Confirmation,$message,From: noreply@phpbuilder.com);}function user_register($user_name,$password1,$password2,$email,$real_name) {global $feedback,$hidden_hash_var;//all vars present and passwords match?if ($user_name  $password1  $password1==$password2  $email  validate_email($email)) {//password and name are valid?if (account_namevalid($user_name)  account_pwvalid($password1)) {$user_name=strtolower($user_name);$password1=strtolower($password1);//does the name exist in the database?$sql=SELECT * FROM user WHERE user_name=$user_name;$result=db_query($sql);if ($result  db_numrows($result)  0) {$feedback .=  ERROR - USER NAME EXISTS ;return false;} else {//create a new hash to insert into the db and the confirmation email$hash=md5($email.$hidden_hash_var);$sql=INSERT INTO user (user_name,real_name,password,email,remote_addr,confirm_hash,is_confirmed) .VALUES ($user_name,$real_name,. md5($password1) .,$email,$GLOBALS[REMOTE_ADDR],$hash,0);$result=db_query($sql);if (!$result) {$feedback .=  ERROR - .db_error();return false;} else {//send the confirm emailuser_send_confirm_email($email,$hash);$feedback .=  Successfully Registered. You Should Have a Confirmation Email Waiting ;return true;}}} else {$feedback .=  Account Name or Password Invalid ;return false;}} else {$feedback .=  ERROR - Must Fill In User Name, Matching Passwords, And Provide Valid Email Address ;return false;}}function user_getid() {global $G_USER_RESULT;//see if we have already fetched this user from the db, if not, fetch itif (!$G_USER_RESULT) {$G_USER_RESULT=db_query(SELECT * FROM user WHERE user_name= . user_getname() . );}if ($G_USER_RESULT  db_numrows($G_USER_RESULT)  0) {return db_result($G_USER_RESULT,0,user_id);} else {return false;}}function user_getrealname() {global $G_USER_RESULT;//see if we have already fetched this user from the db, if not, fetch itif (!$G_USER_RESULT) {$G_USER_RESULT=db_query(SELECT * FROM user WHERE user_name= . user_getname() . );}if ($G_USER_RESULT  db_numrows($G_USER_RESULT)  0) {return db_result($G_USER_RESULT,0,real_name);} else {return false;}}function user_getemail() {global $G_USER_RESULT;//see if we have already fetched this user from the db, if not, fetch itif (!$G_USER_RESULT) {$G_USER_RESULT=db_query(SELECT * FROM user WHERE user_name= . user_getname() . );}if ($G_USER_RESULT  db_numrows($G_USER_RESULT)  0) {return db_result($G_USER_RESULT,0,email);} else {return false;}}function user_getname() {if (user_isloggedin()) {return $GLOBALS[user_name];} else {//look up the user some day when we need itreturn  ERROR - Not Logged In ;}}function account_pwvalid($pw) {global $feedback;if (strlen($pw)  6) {$feedback .=  Password must be at least 6 characters. ;return false;}return true;}function account_namevalid($name) {global $feedback;// no spacesif (strrpos($name, )  0) {$feedback .=  There cannot be any spaces in the login name. ;return false;}// must have at least one characterif (strspn($name,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ) == 0) {$feedback .= There must be at least one character.;return false;}// must contain all legal charactersif (strspn($name,abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_)!= strlen($name)) {$feedback .=  Illegal character in name. ;return false;}// min and max lengthif (strlen($name)  5) {$feedback .=  Name is too short. It must be at least 5 characters. ;return false;}if (strlen($name)  15) {$feedback .= Name is too long. It must be less than 15 characters.;return false;}// illegal namesif (eregi(^((root)|(bin)|(daemon)|(adm)|(lp)|(sync)|(shutdown)|(halt)|(mail)|(news). |(uucp)|(operator)|(games)|(mysql)|()|(nobody)|(dummy). |(www)|(cvs)|(shell)|(ftp)|(irc)|(debian)|(ns)|(download))$,$name)) {$feedback .= Name is reserved.;return 0;}if (eregi(^(anoncvs_),$name)) {$feedback .= Name is reserved for CVS.;return false;}return true;}function validate_email ($address) {return (ereg(^-!}?

本文由威尼斯在线注册平台发布于热门资源,转载请注明出处:二个用于网址顾客管理的函数库

上一篇:十六进制数(等于十进制数的18) $a = 下一篇:没有了
猜你喜欢
热门排行
精彩图文