ホームページ  >  記事  >  バックエンド開発  >  ユーザーログインケースのPHP実装コードPHPサンプル

ユーザーログインケースのPHP実装コードPHPサンプル

jacklove
jackloveオリジナル
2018-06-25 17:57:4411884ブラウズ

この記事では主にPHPでユーザーログインを実装するケースのコードを紹介していますが、編集者が非常に良いと思ったので参考にさせていただきます。エディターに従って、見てみましょう。

この記事では、PHP でのユーザー ログインのケース コードを説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

要件分析:

Web アプリケーション開発では、ユーザー ログイン機能の実装が必要になることがよくあります。 。ユーザー名が username であるとします。ユーザーが Web サイトのホームページにアクセスすると、ログインしていない場合はログインを求めるプロンプトが表示されます。ユーザーは検証のためにログイン情報を入力します。検証に合格すると、ユーザー センターに入ります。それ以外の場合は、ユーザー名またはパスワードが間違っているため、再度ログインする必要があります。ログインに成功した後、「ログアウト」をクリックしてログイン ページに戻ることもできます。

#プログラミング フローチャート:

login.html

##

<!DOCUMENT html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http 
://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
<head> 
 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/> 
 <title>会员登录</title> 
 <style type="text/css"> 
  ul li{margin:0;padding:0;} 
  form{margin:40px 30px 0;} 
  form li{list-style:none;padding:5px 0;} 
  form li label{float:left;width:70px;text-align:right} 
  form li a{font-size:12px;color:#999;text-decoration:none} 
  .login_btn{border:none;background:#01A4F1;color:#fff;font-size:14px;font-weight:bold;height:28px;line-height:28px;padding:0 10px;cursor:pointer;} 
  form li img{vertical-align:top} 
 </style> 
 
</head> 
<body> 
<form action="login.php" method="POST"> 
 <fieldset> 
  <legend>用户登录</legend> 
  <ul> 
   <li> 
    <label for"">用户名:</label> 
    <input type="text" name="username"/> 
   </li> 
   <li> 
    <label for"">密码:</label> 
    <input type="password" name="password"/> 
   </li> 
   <li> 
    <label for""> </label> 
    <input type="checkbox" name="remember" value="yes"/>7天内自动登录 
   </li> 
   <li> 
    <label for""> </label> 
    <input type="submit" name="login" value="登录" class="login_btn"/> 
   </li> 
  </ul> 
 </fieldset> 
</body> 
 
</html>


#login.php

<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 if(isset($_POST[&#39;login&#39;])) 
 { 
  $username = trim($_POST[&#39;username&#39;]); 
  $password = trim($_POST[&#39;password&#39;]); 
  if(($username==&#39;&#39;)||($password==&#39;&#39;)) 
  { 
   header(&#39;refresh:3;url=login.html&#39;); 
   echo "改用户名或密码不能为空,3秒后跳转到登录页面"; 
   exit; 
  } 
  else if(($username!=&#39;username&#39;)||($password!=&#39;password&#39;)) 
  { 
   //用户名或密码错误 
   header(&#39;refresh:3;url=login.html&#39;); 
   echo "用户名或密码错误,3秒后跳转到登录页面"; 
   exit; 
  } 
  else if(($username==&#39;username&#39;)&&($password==&#39;password&#39;)) 
  { 
   //登录成功将信息保存到session中 
   $_SESSION[&#39;username&#39;]=$username; 
   $_SESSION[&#39;islogin&#39;]=1; 
   //如果勾选7天内自动保存,则将其保存到cookie 
   if($_POST[&#39;remember&#39;]=="yes") 
   { 
    setcookie("username",$username,time()+7*24*60*60); 
    setcookie("code",md5($username.md5($password)),time()+7*24*60*60); 
   } 
   else 
   { 
    setcookie("username",&#39;&#39;,time()-1); 
    setcookie("code",&#39;&#39;,time()-1); 
   } 
   //跳转到用户首页 
   header(&#39;refresh:3;url=index.php&#39;); 
  } 
 } 
?>


##index.php


<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 //首先判断Cookie是否有记住用户信息 
 if(isset($_COOKIE[&#39;username&#39;])) 
 { 
  $_SESSION[&#39;username&#39;]=$_COOKIE[&#39;username&#39;]; 
  $_SESSION[&#39;islogin&#39;]=1; 
 } 
 if(isset($_SESSION[&#39;islogin&#39;])) 
 { 
  //已经登录 
  echo $_SESSION[&#39;username&#39;].":你好,欢迎进入个人中心!<br/>"; 
  echo "<a href=&#39;logout.php&#39;>注销</a>"; 
 } 
 else 
 { //为登录 
  echo "你还未登录,请<a href=&#39;login.html&#39;>登录</a>"; 
 } 
?>


logout.php

<?php 
 header("Content-Type:text/html;charset=utf-8"); 
 session_start(); 
 //清除session 
 $username=$_SESSION[&#39;username&#39;]; 
 $_SESSION=array(); 
 session_destroy(); 
 //清除cookie 
 setcookie("username",&#39;&#39;,time()-1); 
 setcookie("code",&#39;&#39;,time()-1); 
 echo "$username,欢迎下次光临"; 
 echo "重新<a href=&#39;login.html&#39;>登录</a>"; 
?>


ログイン インターフェース:

## 上記のすべて、以下編集者が紹介したユーザーログインの PHP 実装のケースコードです。ご質問があればメッセージを残してください。編集者がすぐに返信します。また、php 中国語 Web サイトをサポートしていただきありがとうございます。

#興味があるかもしれない記事:

フォームの繰り返し送信を防ぐための ThinkPHP の方法 サンプル分析 PHP の例

PHP は PDO 抽象化レイヤーを使用してクエリ結果を取得します。 PHP スキル例

# PHP ページング表示方法の分析 [PHP 一般的なページングを添付]クラス] php スキル


#

以上がユーザーログインケースのPHP実装コードPHPサンプルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。