>  기사  >  백엔드 개발  >  php+mysql은 간단한 로그인, 등록 및 비밀번호 수정을 실현합니다. 웹 페이지_php 예제

php+mysql은 간단한 로그인, 등록 및 비밀번호 수정을 실현합니다. 웹 페이지_php 예제

WBOY
WBOY원래의
2016-12-05 13:28:231657검색

PHP와 mysql의 연결은 많은 블로그에서 설명되어 왔습니다. mysql의 쿼리, 수정, 삽입 및 기타 작업을 마스터하기 위해 이 기사에서는 mysql을 사용하여 로그인, 등록 및 비밀번호를 위한 웹 페이지를 만드는 방법을 소개합니다. 변화.

그 중 다음은

1. 로그인 - 은 데이터베이스의 내용을 쿼리하고 html의 정보가 데이터베이스와 일치하는지 확인하는 것입니다.
2. 등록-은 데이터베이스에 콘텐츠를 삽입하고 계정과 비밀번호를 등록하는 것을 의미합니다. 3. 비밀번호 수정-
은 데이터베이스의 내용을 수정하는 것을 의미합니다.
이 세 가지 작업을 생성하기 위해 8개의 php 및 html 텍스트를 사용했습니다. 자세한 내용은 코드 섹션을 참조하세요.

1. 기본 로그인 인터페이스 index.html:



<p> 
  </p><pre name="code" class="html"> 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>登录注册修改密码系统主页</title> 
<style type="text/css"> 
form { 
  text-align: center; 
} 
</style> 
</head> 
<body> 
  <form action="enter.php" method="post" onsubmit="return enter()"> 
    用户名<input type="text" name="username" id="username"><br> 密码<input 
      type="password" name="password" id="password"><br> <input 
      type="submit" value="登录">  <input type="button" 
      value="注册" onclick="register();"> 
 
  </form> 
 
  <script type="text/javascript"> 
    function enter() 
    { 
      var username=document.getElementById("username").value;//获取form中的用户名 
      var password=document.getElementById("password").value; 
      var regex=/^[/s]+$/;//声明一个判断用户名前后是否有空格的正则表达式 
      if(regex.test(username)||username.length==0)//判定用户名的是否前后有空格或者用户名是否为空 
        { 
          alert("用户名格式不对"); 
          return false; 
        } 
      if(regex.test(password)||password.length==0)//同上述内容 
      { 
        alert("密码格式不对"); 
        return false; 
      } 
      return true; 
    } 
    function register() 
    { 
      window.location.href="register.html";//跳转到注册页面 
    } 
  </script> 
</body> 
</html> 
2. 로그인 백그라운드 작업 enter.php:

<!doctype html> 
<html> 
<head> 
  <meta charset="UTF-8"> 
  <title>登录系统的后台执行过程</title> 
</head> 
<body> 
  <&#63;php  
    session_start();//登录系统开启一个session内容 
    $username=$_REQUEST["username"];//获取html中的用户名(通过post请求) 
    $password=$_REQUEST["password"];//获取html中的密码(通过post请求) 
 
    $con=mysql_connect("localhost","root","root");//连接mysql 数据库,账户名root ,密码root 
    if (!$con) { 
      die('数据库连接失败'.$mysql_error()); 
    } 
    mysql_select_db("user_info",$con);//use user_info数据库; 
    $dbusername=null; 
    $dbpassword=null; 
    $result=mysql_query("select * from user_info where username ='{$username}' and isdelete =0;");//查出对应用户名的信息,isdelete表示在数据库已被删除的内容 
    while ($row=mysql_fetch_array($result)) {//while循环将$result中的结果找出来 
      $dbusername=$row["username"]; 
      $dbpassword=$row["password"]; 
    } 
    if (is_null($dbusername)) {//用户名在数据库中不存在时跳回index.html界面 
  &#63;> 
  <script type="text/javascript"> 
    alert("用户名不存在"); 
    window.location.href="index.html"; 
  </script> 
  <&#63;php  
    } 
    else { 
      if ($dbpassword!=$password){//当对应密码不对时跳回index.html界面 
  &#63;> 
  <script type="text/javascript"> 
    alert("密码错误"); 
    window.location.href="index.html"; 
  </script> 
  <&#63;php  
      } 
      else { 
        $_SESSION["username"]=$username; 
        $_SESSION["code"]=mt_rand(0, 100000);//给session附一个随机值,防止用户直接通过调用界面访问welcome.php 
  &#63;> 
  <script type="text/javascript"> 
    window.location.href="welcome.php"; 
  </script> 
  <&#63;php  
      } 
    } 
  mysql_close($con);//关闭数据库连接,如不关闭,下次连接时会出错 
  &#63;> 
</body> 
</html> 
3. 로그인 성공 후 환영 인터페이스 Welcome.php:


<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>欢迎登录界面</title> 
</head> 
<body> 
 
<&#63;php 
session_start (); 
if (isset ( $_SESSION ["code"] )) {//判断code存不存在,如果不存在,说明异常登录 
  &#63;> 
欢迎登录<&#63;php 
  echo "${_SESSION["username"]}";//显示登录用户名 
  &#63;><br> 
您的ip:<&#63;php 
  echo "${_SERVER['REMOTE_ADDR']}";//显示ip 
  &#63;> 
<br> 
您的语言: 
<&#63;php 
  echo "${_SERVER['HTTP_ACCEPT_LANGUAGE']}";//使用的语言 
  &#63;> 
<br> 
浏览器版本: 
<&#63;php 
  echo "${_SERVER['HTTP_USER_AGENT']}";//浏览器版本信息 
  &#63;> 
<a href="exit.php">退出登录</a> 
<&#63;php 
} else {//code不存在,调用exit.php 退出登录 
  &#63;> 
<script type="text/javascript"> 
  alert("退出登录"); 
  window.location.href="exit.php"; 
</script> 
<&#63;php 
} 
&#63;> 
<br> 
  <a href="alter_password.html">修改密码</a> 
 
</body> 
</html> 
4. 비밀번호 변경을 위한 기본 인터페이스 alter_password.html:


<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>修改密码</title> 
<style type="text/css"> 
  form{ 
    text-align: center; 
  } 
</style> 
</head> 
<body> 
  <&#63;php  
    session_start(); 
  &#63;> 
  <form action="alter_password.php" method="post" onsubmit="return alter()"> 
    用户名<input type="text" name="username" id ="username" /><br/> 旧密码<input 
      type="password" name="oldpassword" id ="oldpassword"/><br/> 新密码<input 
      type="password" name="newpassword" id="newpassword"/><br/> 确认新密码<input 
      type="password" name="assertpassword" id="assertpassword"/><br/> <input 
      type="submit" value="修改密码" onclick="return alter()"> 
  </form> 
    <script type="text/javascript"> 
      document.getElementById("username").value="<&#63; php echo "${_SESSION["username"]}";&#63;>" 
    </script> 
 
  <script type="text/javascript"> 
    function alter() { 
       
      var username=document.getElementById("username").value; 
      var oldpassword=document.getElementById("oldpassword").value; 
      var newpassword=document.getElementById("newpassword").value; 
      var assertpassword=document.getElementById("assertpassword").value; 
      var regex=/^[/s]+$/; 
      if(regex.test(username)||username.length==0){ 
        alert("用户名格式不对"); 
        return false; 
      } 
      if(regex.test(oldpassword)||oldpassword.length==0){ 
        alert("密码格式不对"); 
        return false; 
      } 
      if(regex.test(newpassword)||newpassword.length==0) { 
        alert("新密码格式不对"); 
        return false; 
      } 
      if (assertpassword != newpassword||assertpassword==0) { 
        alert("两次密码输入不一致"); 
        return false; 
      } 
      return true; 
 
    } 
  </script>  
</body> 
</html> 
5. 비밀번호 변경의 백그라운드 작업 alter_password.php:


<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>正在修改密码</title> 
</head> 
<body> 
  <&#63;php 
  session_start (); 
  $username = $_REQUEST ["username"]; 
  $oldpassword = $_REQUEST ["oldpassword"]; 
  $newpassword = $_REQUEST ["newpassword"]; 
   
  $con = mysql_connect ( "localhost", "root", "root" ); 
  if (! $con) { 
    die ( '数据库连接失败' . $mysql_error () ); 
  } 
  mysql_select_db ( "user_info", $con ); 
  $dbusername = null; 
  $dbpassword = null; 
  $result = mysql_query ( "select * from user_info where username ='{$username}' and isdelete =0;" ); 
  while ( $row = mysql_fetch_array ( $result ) ) { 
    $dbusername = $row ["username"]; 
    $dbpassword = $row ["password"]; 
  } 
  if (is_null ( $dbusername )) { 
    &#63;> 
  <script type="text/javascript"> 
    alert("用户名不存在"); 
    window.location.href="alter_password.html"; 
  </script>  
  <&#63;php 
  } 
  if ($oldpassword != $dbpassword) { 
    &#63;> 
  <script type="text/javascript"> 
    alert("密码错误"); 
    window.location.href="alter_password.html"; 
  </script> 
  <&#63;php 
  } 
  mysql_query ( "update user_info set password='{$newpassword}' where username='{$username}'" ) or die ( "存入数据库失败" . mysql_error () );//如果上述用户名密码判定不错,则update进数据库中 
  mysql_close ( $con ); 
  &#63;> 
 
 
  <script type="text/javascript"> 
    alert("密码修改成功"); 
    window.location.href="index.html"; 
  </script> 
</body> 
</html> 
6. 계정 등록을 위한 기본 인터페이스 Register.html:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>注册系统</title> 
<style type="text/css"> 
form { 
  text-align: center; 
} 
</style> 
</head> 
<body> 
 
  <form action="register.php" method="post" name="form_register" 
    onsubmit="return check()"> 
    用户名<input type="text" name="username" id="username"><br> 
    密码<input type="password" name="password" id="password"><br> 
    确认密码<input type="password" name="assertpassword" id="assertpassword"><br> 
    <input type="submit" value="注册"> 
 
  </form> 
 
  <script type="text/javascript"> 
    function check() { 
      var username=document.getElementById("username").value; 
      var password=document.getElementById("password").value; 
      var assertpassword=document.getElementById("assertpassword").value; 
      var regex=/^[/s]+$/; 
       
      if(regex.test(username)||username.length==0){ 
        alert("用户名格式不对"); 
        return false; 
      } 
      if(regex.test(password)||password.length==0){ 
        alert("密码格式不对"); 
        return false;     
      } 
      if(password!=assertpassword){ 
        alert("两次密码不一致"); 
        return false; 
      } 
    } 
  </script> 
</body> 
</html> 
7. 계정 등록을 위한 백그라운드 작업 Register.php:

<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
  <title>注册用户</title> 
</head> 
<body> 
  <&#63;php  
    session_start(); 
    $username=$_REQUEST["username"]; 
    $password=$_REQUEST["password"]; 
 
    $con=mysql_connect("localhost","root","root"); 
    if (!$con) { 
      die('数据库连接失败'.$mysql_error()); 
    } 
    mysql_select_db("user_info",$con); 
    $dbusername=null; 
    $dbpassword=null; 
    $result=mysql_query("select * from user_info where username ='{$username}' and isdelete =0;"); 
    while ($row=mysql_fetch_array($result)) { 
      $dbusername=$row["username"]; 
      $dbpassword=$row["password"]; 
    } 
    if(!is_null($dbusername)){ 
  &#63;> 
  <script type="text/javascript"> 
    alert("用户已存在"); 
    window.location.href="register.html"; 
  </script>  
  <&#63;php  
    } 
    mysql_query("insert into user_info (username,password) values('{$username}','{$password}')") or die("存入数据库失败".mysql_error()) ; 
    mysql_close($con); 
  &#63;> 
  <script type="text/javascript"> 
    alert("注册成功"); 
    window.location.href="index.html"; 
  </script> 
   
   
       
     
     
</body> 
</html> 
8. 불법 로그인 시 로그아웃 동작exit.php:


<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 
<&#63;php 
session_start ();//将session销毁时调用destroy 
session_destroy (); 
&#63;> 
<script type="text/javascript"> 
 window.location.href="index.html"; 
</script> 
</body> 
</html> 
9.mysql 데이터베이스 구축 부분

위 글의 내용은 모두의 공부에 도움이 되길 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.