PHP 注册登录系统 练习

该系统为简单的注册登录系统,包含的功能有
1.用户注册
2.给用户邮箱发送激活码
3.用户登录
4.保存用户登录信息,自动登录
5.用户修改密码
6.用户密码找回
7.用户注销登录
主要代码文件有:
config.php
该文件为连接数据库文件,连接到mysql并选择数据库
install.php
该文件为自动安装数据库表文件,系统所需的用户信息存储表
 
SignUp.php
该文件为用户注册的界面,html代码,数据处理文件add.php
add.php
该文件为用户注册的数据处理文件,检查用户注册各数据是否合法,注册成功,
将数据写进数据库表,并发送激活码到用户邮箱,自动跳转到激活界面
activate.php,提示用户激活账号
activate.php
该文件为用户激活界面,html代码,激活数据处理文件active_go.php
该界面同时可以重新发送激活码,重新发送激活码数据处理文件
Resend_actNum.php
Resend_actNum.php
该文件为重新发送激活码文件,用户输入用户名和注册邮箱,点击重新发送即可
获得激活码邮件
active_go.php
该文件为激活数据处理文件,用户激活成功,将数据库表中激活码置为0,自动跳
转到登录界面
login.php
用户登录界面,首先判断session会话变量中是否存储了登录信息,如果有,则自
动登录,登录数据处理文件login_go.php
login_go.php
用户登录数据处理文件,需要判断用户是否激活,用户名是否存在,密码是否匹
配等,同时创建会话,保存登录信息,如果用户登录时选择保存登录信息,则发
送cookie到客户端
forgot.php
找回密码界面,html代码。用户登录时忘记密码,则可以通过输入用户名和注册
邮箱获取密码,数据处理文件为forgot_go.php
forgot_go.php
用户找回密码数据处理文件,如果用户名和邮箱检测正确,则发送密码到邮箱,
然后跳转到登录页面重新登录
manage.php
用户管理页面,导航框架,点击左边的链接,右边会显示相应的网页
manage_menu.php
用户管理页面左边的导航页面,显示各个功能菜单,点击相应的链接,右边显示
响应的网页
change_password.php
在manage文件夹下,修改密码的界面,在用户管理左边导航点击修改密码,右边
页面会跳转到该页面修改密码,数据处理文件为change_password_go.php
change_password_go.php
在manage文件夹下,用户修改密码数据处理文件,如果数据检测正确,则修改数
据库表中的密码,同时也要修改session会话中的密码,修改成功返回到默认管理
页面,不成功则返回重新输入
menu_default.php
在manage文件夹下,用户管理的默认管理页面,点击管理页面左边导航我的地盘
链接也会跳转到该页面,该页面代码未完善,以后扩展
login_off.php
在manage文件夹下,用户注销登录文件。在管理页面左边导航点击退出登录,会
执行该文件,然后直接跳转到登录界面。注销登录,只要设置客户端cookie过期
,删除会话。
 
 
PHP注册登录系统------config.php
<?php
$server="localhost";
$username="root";
$password="";
$database="";
if($database=="")
{
 $query="use members";
 if(mysql_query($query)==null)
 {
  $query="create database members";
  if(mysql_query($query)==1)
  {
   //创建数据库成功,开始连接数据库
   $database="members";
   $conn=mysql_connect($server,$username,$password)
   or die("could not connect mysql");
   mysql_select_db($database,$conn)
   or die("could not open database");
  }
  else
  {
   echo "Error while creating database (Error".mysql_errno().":\"".mysql_error()."\")<br>";//创建数据库出错
  }
 }
 else
 {
  //如果数据库中存在members数据库
  $database="members";
  $conn=mysql_connect($server,$username,$password)
  or die("could not connect mysql");
  mysql_select_db($database,$conn)
  or die("could not open database");
 }
}
else
{
 //如果选择的是别的数据库,也就是说$database不为空
 $conn=mysql_connect($server,$username,$password)
 or die("could not connect mysql");
 mysql_select_db($database,$conn)
 or die("could not open database");
}
?>
 
PHP注册登录系统-----install.php
<?php
//导入数据库连接文件
include 'config.php';
//自动安装数据库表
$query="create table als_signup (
UserName varchar(20),
Password varchar(20),
Email varchar(20),
actNum varchar(20),
UserLevel tinyint,
SignUpdate varchar(20),
LastLogin varchar(20),
LastLoginFail varchar(20),
NumLoginFail tinyint
)";
$result=mysql_query($query);
if($result==1)
{
 echo "signup table succesfully created.<br>";
}
else
{
 echo "Error while creating table(ErrorNumber".mysql_errno().":\"".mysql_error()."\")<br>";
}
?>
 
PHP注册登录系统-----SignUp.php
<html>
<head>
<title>用户注册</title>
<meta content="text/html; charset=gb2312" http-equiv="Content-Type">
</head>
<body>
<form name="form1" method="post" action="add.php">
<h1>新用户注册</h1><br>
<table width="400" border="0">
<tr>
<td align="center">用户名</td>
<td><input name="UserName" type="text" id="UserName" size="20"></input></td>
</tr>
<tr>
<td align="center">密  码</td>
<td><input name="Password" type="password" id="Password" size="20"></input></td>
</tr>
<tr>
<td align="center">确认密码</td>
<td><input name="ConfirmPassword" type="password" id="ConfirmPassword" size="20"></input></td>
</tr>
<tr>
<td align="center">Email</td>
<td><input name="Email" type="text" id="Email" size="20"></input></td>
</tr>
</table>
<input name="SignUp" type="submit" id="SignUp" value="注册"></input><br>
如果您已经有账号,请点击<a href="login.php">这里</a>登陆。
</form>
</body>
</html>
 
PHP注册登录系统-----add.php
<?php
//用户注册以后的数据处理文件。需要先检查数据合法性,然后写入数据库
//获取注册用户提交的数据
$UserName1=$_POST["UserName"];//用户名
$Password1=$_POST["Password"];//密码
$ConfirmPassword1=$_POST["ConfirmPassword"];//确认密码
$Email1=$_POST["Email"];//邮箱
//定义保存激活码变量
$actnum="";
//导入数据库文件
include 'config.php';
//定义产生激活码函数
function Check_actnum()
{
$chars_for_actnum=array("A","B","C","D","E","F","G","H","I","J","K","L",
"M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","a","b","c","d",
"e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v",
"w","x","y","z","1","2","3","4","5","6","7","8","9","0"
);
for ($i=1;$i<=20;$i++)//生成一个20个字符的激活码
{
 $actnum.=$chars_for_actnum[mt_rand(0,count($chars_for_actnum)-1)];
}
return $actnum;
}
//判断用户名函数
function Check_username($UserName)//参数为用户注册的用户名
{
 //用户名三个方面检查
 //是否为空   字符串检测   长度检测
 $Max_Strlen_UserName=16;//用户名最大长度
 $Min_Strlen_UserName=4;//用户名最短长度
 $UserNameChars="^[A-Za-z0-9_-]";//字符串检测的正则表达式
 $UserNameGood="用户名检测正确";//定义返回的字符串变量
 if($UserName=="")
 {
  $UserNameGood="用户名不能为空";
  return $UserNameGood;
 }
 if(!ereg("$UserNameChars",$UserName))//正则表达式匹配检查
 {
  $UserNameGood="用户名字符串检测不正确";
  return $UserNameGood;
 }
 if (strlen($UserName)<$Min_Strlen_UserName || strlen($UserName)>$Max_Strlen_UserName)
 {
  $UserNameGood="用户名字长度检测不正确";
  return $UserNameGood;
 }
 return $UserNameGood;
}
//判断密码是否合法函数
function Check_Password($Password)
{
 //是否为空    字符串检测      长度检测
 $Max_Strlen_Password=16;//密码最大长度
 $Min_Strlen_Password=6;//密码最短长度
 $PasswordChars="^[A-Za-z0-9_-]";//密码字符串检测正则表达式
 $PasswordGood="密码检测正确";//定义返回的字符串变量
 if($Password=="")
 {
  $PasswordGood="密码不能为空";
  return $PasswordGood;
 }
 if(!ereg("$PasswordChars",$Password))
 {
  $PasswordGood="密码字符串检测不正确";
  return $PasswordGood;
 }
 if(strlen($Password)<$Min_Strlen_Password || strlen($Password)>$Max_Strlen_Password)
 {
  $PasswordGood="密码长度检测不正确";
  return $PasswordGood;
 }
 return $PasswordGood;
}
//判断邮箱是否合法函数
function Check_Email($Email)
{
 $EmailChars="^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*$";//正则表达式判断是否是合法邮箱地址
 $EmailGood="邮箱检测正确";
 if($Email=="")
 {
  $EmailGood="邮箱不能为空";
  return $EmailGood;
 }
 if(!ereg("$EmailChars",$Email))//正则表达式匹配检查
 {
  $EmailGood="邮箱格式不正确";
  return $EmailGood;
 }
 return $EmailGood;
}
//判断两次密码输入是否一致
function Check_ConfirmPassword($Password,$ConfirmPassword)
{
 $ConfirmPasswordGood="两次密码输入一致";
 if($Password<>$ConfirmPassword)
 {
  $ConfirmPasswordGood="两次密码输入不一致";
  return $ConfirmPasswordGood;
 }
 else
 return $ConfirmPasswordGood;
}
//调用函数,检测用户输入的数据
$UserNameGood=Check_username($UserName1);
$PasswordGood=Check_Password($Password1);
$EmailGood=Check_Email($Email1);
$ConfirmPasswordGood=Check_ConfirmPassword($Password1,$ConfirmPassword1);
$error=false;//定义变量判断注册数据是否出现错误
if($UserNameGood !="用户名检测正确")
{
  $error=true;//改变error的值表示出现了错误
     echo $UserNameGood;//输出错误信息
     echo "<br>";
}
if($PasswordGood !="密码检测正确")
{
 $$error=true;
 echo $PasswordGood;
 echo "<br>";
}
if($EmailGood !="邮箱检测正确")
{
 $error=true;
 echo $EmailGood;
 echo "<br>";
}
if ($ConfirmPasswordGood !="两次密码输入一致")
{
 $error=true;
 echo $ConfirmPasswordGood;
 echo "<br>";
}
//判断数据库中用户名和email是否已经存在
$query="select * from als_signup where UserName='$UserName1' or Email='$Email1'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
while ($row)
{
 if ($row["UserName"]==$UserName1)
 {
  $error=true;
  echo "用户名已存在<br>";
 }
 if ($row["Email"]==$Email1)
 {
  $error=true;
  echo "用户邮箱已经注册<br>";
 }
}
//如果数据检测都合法,则将用户资料写进数据库表
if ($error==false) //$error==false表示没有错误
{
 $actnum=Check_actnum();//调用激活码函数
 $Datetime=date("d-m-y G:i");//获取注册时间,也就是数据写入到用户表的时间
 $query="insert into als_signup (UserName,Password,Email,actNum,UserLevel,SignUpdate,LastLogin,LastLoginFail,NumLoginFail)
 values ('$UserName1','$Password1','$Email1','$actnum','1','$Datetime','0','0','0')";
 $result=mysql_query($query);
 $to=$Email1;//用户注册的邮箱
    $subject="激活码";
    $message="您的激活码为$actnum";
    $header="From:kristin-wang@163.com"."\r\n";//邮件头信息
    if(mail($to,$subject,$message,$header))//php中mail()函数用来发送邮件,需要更改php.ini文件,最好安装SMTP服务器
    {
     //产生链接,链接到激活页面
     ?>
     请登陆邮箱获取激活码。然后点击<a href="activate.php">这里</a>激活。
     <?php
    }
}
?>
 
PHP注册登录系统-----activate.php
<html>
<head>
<title>注册账号激活</title>
<meta http-equiv="Conten-Type" content="text/html; charset=iso-8859-1"></meta>
</head>
<body>
<h1>注册账号激活</h1>
<form name="form1" method="post" action="active_go.php" >
谢谢注册,激活码已经被发送到您的邮箱!<br>
用户名:<input name="UserName" type="text" id="UserName" size="20"></input><br>
激活码:<input name="actNum" type="text" id="actNum" size="20"></input><br>
<input name="Submit" type="submit" value="激活"></input><br>
</form>
<br><br><br>
<form name="form2" method="post" action="Resend_actNum.php">
如果没有收到邮件,可以再次发送邮件:<br>
用户名:<input name="UserName" type="text" id="UserName" size="20"></input><br>
邮 &nbsp;箱:<input name="Email" type="text" id="Email" size="20"></input>
<input name="Resend" type="hidden" id="Resend" value="1"></input><br>
<input name="Submit" type="submit" value="发送"></input>
</form>
</body>
</html>
 
 
 
PHP注册登录系统-----Resend_actNum.php
<html>
<head>
<title>重新发送激活码</title>
<meta http-equiv="Conten-Type" content="text/html; charset=gb2312"></meta>
</head>
<body>
<?php
//获取用户名,激活码,邮件地址
$UserName1=$HTTP_POST_VARS["UserName"];
$actNum1=$HTTP_POST_VARS["actNum"];
$Email1=$HTTP_POST_VARS["Email"];
$Resend=$HTTP_POST_VARS["Resend"];//检查是否需要重发激活码.在点击重新发送激活码后传递的隐藏数据
//如果用户要求再次发送激活码
include 'config.php';
if ($Resend==1)
{
$query="select * from als_signup where UserName='$UserName1' and Email='$Email1'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
 $actNum=$row["actNum"];
 $subject="激活码";
 $message="您的激活码为:$actNum";
 mail($Email1,$subject,$message);
 ?>
 激活码已经重新发送,请登陆邮箱获取激活码。<br>
 点击<a href="activate.php">这里</a>重新激活。
 <?php
}
else
{
 ?>
 用户名或者电子邮件错误。<br>
 点击<a href="activate.php">这里</a>返回。
 <?php
}
}
?>
</body>
</html>
 
 
PHP注册登录系统-----active_go.php
<html>
<head>
<title>激活</title>
<meta http-equiv="Conten-Type" content="text/html; charset=gb2312"></meta>
</head>
<body>
<?php
//获取用户名,激活码
$UserName1=$HTTP_POST_VARS["UserName"];
$actNum1=$HTTP_POST_VARS["actNum"];
include 'config.php';
//检查用户名和激活码是否正确
$query="select * from als_signup where UserName='$UserName1' and actNum='$actNum1'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
 //如果用户名和激活码正确,成功激活,将数据库表中激活码设为0
 $query="update als_signup set actNum='0' where UserName='$UserName1'";
 $result=mysql_query($query);
 ?>
 您已经成功激活账号。<br>
 请点击<a href="login.php">这里</a>登陆
 <?php
}
else
{
 echo "用户名或者激活码错误,请返回重新输入<br>";
 ?>
 <a href="activate.php">返回</a>
 <?php
}
?>
</body>
</html>
 
 
 
PHP注册登录系统-----login.php
<?php
//在显示登录界面之前,首先判断是否保存了用户登录信息,如果有,则自动登录
include 'config.php';
session_start();//启动会话
$query="select * from als_signup where UserName='{$_SESSION['UserName']}' and Password='{$_SESSION['Password']}'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
 //如果session会话变量用户名与密码匹配,则自动登录,直接跳转到管理页面
header("refresh:1;url=http://localhost/members/manage.php");
exit;
}
?>
<html>
<head>
<title>用户登录</title>
</head>
<body>
<form name="form1" method="post" action="login_go.php">
用户名:<input name="UserName" type="text" size="20" id="UserName"></input><br>
密&nbsp;&nbsp;码:<input name="Password" type="password" size="20" id="Password"></input><br>
<input name="KeepInfo" type="checkbox" value="KeepInfo"></input>保存登录信息(7天)<br><br>
<input name="Submit" type="submit" value="登录"></input>
</form>
<a href="forgot.php">忘了密码?</a>
<a href="SignUp.php">注册新用户</a>
</body>
</html>
 
 
 
PHP注册登录系统-----login_go.php
<?php
include 'config.php';
session_start();//启动会话
//获取用户的登录信息。用户名,密码,是否保存信息
$UserName1=$HTTP_POST_VARS["UserName"];
$Password1=$HTTP_POST_VARS["Password"];
$Remember=$HTTP_POST_VARS["KeepInfo"];
//如果用户点击了保存登录信息,将Remember置为1,否则置为0
if ($Remember=="KeepInfo")
{
 $Remember="1";
}
else
{
 $Remember="0";
}
//查询用户名是否存在
$query="select * from als_signup where UserName='$UserName1'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
 //查询用户是否已经激活
 if ($row["actNum"]=="0")
 {
  //判断登录失败次数是否小于等于5次
  if ($row["NumLoginFail"]<=5)
  {
   //判断密码是否正确
   if ($row["Password"]==$Password1)
   {
    //如果密码正确,修改最近登录时间,将登录失败信息清除
    $datetime=date("d-m-Y G:i");
    $query="update als_signup set LastLogin='$datetime' where UserName='$UserName1'";
    $result=mysql_query($query);
    $query="update als_signup set NumLoginFail='0' where UserName='$UserName1'";
    $result=mysql_query($query);
    //创建会话,保存登录信息
    session_unset();//删除会话
    session_destroy();
    session_register("Password");//创建会话变量,保存密码
    $HTTP_SESSION_VARS["Password"]=$Password1;
    session_register("UserName");//保存用户名
    $HTTP_SESSION_VARS["UserName"]=$UserName1;
    //发送cookie到客户端,密码被加密
    if ($Remember=="1")
    {
     setcookie("RememberCookieUserName",$UserName1,(time()+604800));
     setcookie("RememberCookiePassword",md5($Password1),(time()+604800));
    }
    //登录成功,页面转到管理页面
    header("refresh:1;url=http://localhost/members/manage.php");
       exit;
   }
   else
   {
       //密码错误,登录失败
       //检查上次登录失败时间是否在5min之内,如果不是,则登录失败次数增加1
      $datetime=date("d-m-Y G:i ",strtotime("-5 minutes"));//获取5分钟以前的时间
      $timenow=date("d-m-Y G:i ");//获取现在的时间
       if($row["LastLoginFail"]<$datetime)//不在5min之内
       {
       //登录失败次数加1
       $query="update als_signup set NumLoginFail=NumLoginFail+1 where UserName='$UserName1'";
       $result=mysql_query($query);
       //修改登录失败时间
       $query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
       $result=mysql_query($query);
       //返回到登录页面
       header("refresh:5;url=http://localhost/members/login.php");
       echo "密码错误,请重新输入<br>5秒后自动返回";
       }
       else  //在5min之内,只修改登录失败时间
       {
       $query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
       $result=mysql_query($query);
       //返回到登录页面
       header("refresh:5;url=http://localhost/members/login.php");
       echo "密码错误,请重新输入<br>5秒后自动返回";
       }
   }
  }
  else
  {
  //失败次数超过5次
  //检查时间,如果上次登录失败在半个小时前,则解锁,给用户一次重新登录机会。只有一次机会
  $datetime=date("d-m-Y G:i, ",strtotime("-30 minutes"));
  if($row["LastLoginFail"]<$datetime)  //半个小时以前
  {
  $query="update als_signup set NumLoginFail='5' where UserName='$UserName1'";
  $result=mysql_query($query);
  }
  else
  {
   //半个小时内,则锁定帐户,返回到登录页面,半个小时后解锁
  $timenow=date("d-m-Y G:i ");
  $query="update als_signup set LastLoginFail='$timenow' where UserName='$UserName1'";
  $result=mysql_query($query);
  header("refresh:5;url=http://localhost/members/login.php");
  echo "您的账号目前被锁定,半个小时后自动解锁。请解锁后登录。";
  echo "<br>5秒后自动返回";
  exit;
  }
  }
 }
 //激活码不为0.用户需要激活
    else
    {
    header("refresh:5;url=http://localhost/members/activate.php");
    echo "您的账号没有激活,请激活后登陆。<br>5秒后自动跳转到激活页面。";
    }
}
else
{
header("refresh:5;url=http://localhost/members/login.php");
echo "您的用户名不正确,请返回重新输入。<br>5秒后自动返回。";
}
?>
 
 
PHP注册登录系统-----forgot.php
<html>
<head>
<meta content="text/html;charset=gb2312" http-equiv="Content-Type">
<title>密码找回</title>
</head>
<body>
<h2><b>找回密码</b></h2><br><br>
<a href="login.php">返回登录页面</a><br>
<form name="form1" method="post" action="forgot_go.php">
用户名:<input name="UserName" type="text" id="UserName" size="20"></input><br>
邮&nbsp;&nbsp;箱:<input name="Email" type="text" id="Email" size="20"></input><br>
<input name="SendPassword" type="submit" value="发送密码" size="20">
</form>
</body>
</html>
 
 
 
PHP注册登录系统-----forgot_go.php
<?php
//获取用户名,邮箱
$UserName1=$HTTP_POST_VARS["UserName"];
$Email1=$HTTP_POST_VARS["Email"];
include 'config.php';
//查询用户名和邮箱是否存在并且匹配
$query="select * from als_signup where UserName='$UserName1' and Email='$Email1'";
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
 //查询成功,则发送密码到用户注册邮箱
 $to=$Email1;
 $subject="密码";
    $message="您的密码为". $row["Password"];
    if (mail($to,$subject,$message))
    {
     header("refresh:5;url=http://localhost/members/login.php");
     echo "密码已经发送到您的邮箱,请查收<br>5秒后自动跳转到登录页面";
     exit;
    }
}
else
{
 header("refresh:5;url=http://localhost/members/forgot.php");
 echo "用户名或者邮箱错误,请确认邮箱为注册用户时的邮箱<br>5秒后自动返回";
 exit;
}
?>
 
 
 
PHP注册登录系统-----manage.php
<html>
<head>
<title>用户管理</title>
<meta content="text/html;charset=gb2312" http-equiv="Content-Type">
</head>
<frameset cols="25%,75%">
<frame src="manage_menu.php"></frame>
<frame src="manage/menu_default.php" name="right"></frame><!-- 右边的内容框架需给name一个值,如:Right;左边的导航框架里的链
接需 target="Right" -->
</frameset>
</html>
 
 
 
PHP注册登录系统-----manage_menu.php
<html>
<head>
<title>用户管理</title>
<meta content="text/html;charset=gb2312" http-equiv="Content-Type">
</head>
<body>
<h2>用户管理</h2>
<a href="manage/menu_default.php" target="right">我的地盘</a><br>
<a href="manage/manage_menu_1.php" target="right">功能菜单1</a><br>
<a href="manage/manage_menu_2.php" target="right">功能菜单2</a><br>
<a href="manage/manage_menu_3.php" target="right">功能菜单3</a><br>
<a href="manage/manage_menu_4.php" target="right">功能菜单4</a><br>
<a href="manage/manage_menu_5.php" target="right">功能菜单5</a><br>
<a href="manage/change_password.php" target="right">修改密码</a><br>
<a href="manage/delete_user.php" target="right">删除账号</a><br>
<a href="manage/login_off.php" target="_parent">退出登录</a><br>
</body>
</html>
 
 
 
PHP注册登录系统-----change_password.php
<html>
<head>
<title>修改密码</title>
</head>
<body>
<h2>修改密码</h2>
<form name="form1" method="post" action="change_password_go.php">
原始密码:
<input name="OldPassword" type="password" id="OldPassword" size="20"><br>
新密码:&nbsp;&nbsp;
<input name="NewPassword" type="password" id="NewPassword" size="20"><br>
确认密码:
<input name="NewPasswordAgain" type="password" id="NewPasswordAgain" size="20"><br>
<input name="Submit" type="submit" value="提交">
</form>
</body>
</html>
 
 
 
PHP注册登录系统-----change_password_go.php
<?php
session_start();
//取出修改密码的数据,原始密码,新密码,确认的新密码
$OldPassword1=$HTTP_POST_VARS["OldPassword"];
$NewPassword1=$HTTP_POST_VARS["NewPassword"];
$NewPasswordAgain=$HTTP_POST_VARS["NewPasswordAgain"];
//导入数据库连接文件
include '../config.php'; //../表示上一级目录
//判断原始密码是否为空,两次输入新密码是否一致
if ($OldPassword1!="" && $NewPassword1==$NewPasswordAgain)
{
//修改表中的密码,注意用到session变量用户名和密码同时判断查询
$query="select * from als_signup where UserName='{$_SESSION['UserName']}' and Password='$OldPassword1'";
 //必须要在数组前加上{},不然无法解析而报错。加上{}主要让语句识别里面是动态的数组
$result=mysql_query($query);
$row=mysql_fetch_array($result);
if ($row)
{
//修改密码,同时修改session会话变量的密码
$query="update als_signup set Password='$NewPassword1' where UserName='{$HTTP_SESSION_VARS['UserName']}'";
$result=mysql_query($query);
$HTTP_SESSION_VARS["Password"]=$NewPassword1;
//修改成功,跳转回到默认管理页面
header("refresh:3;url=http://localhost/members/manage.php");
echo "密码修改成功,3秒钟后自动返回到管理页面";
exit;
}
else
{
//原始密码输入错误,导致数据库表查询失败
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "原始密码输入错误,请重新输入<br>3秒钟后自动返回";
exit;
}
}
else
{
if ($OldPassword1=="")//如果原始密码为空
{
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "原始密码不能为空,请重新输入<br>3秒钟后自动返回";
exit;
}
else //如果新密码两次输入不一致
{
//返回修改密码页面,重新输入
header("refresh:3;url=http://localhost/members/manage/change_password.php");
echo "新密码两次输入不一致,请重新输入<br>3秒钟后自动返回";
exit;
}
}
?>
 
 
 
PHP注册登录系统-----login_off.php
<?php
//启动会话
session_start();
//将客户端cookie设置为过去时间,即过期
setcookie("RememberCookieUserName","UserName",time()-60);
setcookie("RememberCookiePassword","Password",time()-60);
//删除会话
session_unset();
session_destroy();
//回到登录界面
header("refresh:1;url=http://localhost/members/login.php");
?>

转载于:https://www.cnblogs.com/mikyone/archive/2012/07/28/2613188.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值