>  기사  >  백엔드 개발  >  PHP 소스 코드: 로그인 페이지를 구현하기 위한 사이트 구축 방법

PHP 소스 코드: 로그인 페이지를 구현하기 위한 사이트 구축 방법

不言
不言원래의
2018-07-04 14:52:315734검색

이 글은 주로 PHP 소스 코드로 로그인 페이지를 구현하는 방법을 소개합니다. 이제 필요한 친구들이 참고할 수 있도록 공유하겠습니다.

    Site
  1. Building

    로그인 페이지 구현
  2. 분석 및 개선
  3. 사이트 구축
1) Apache 설치 디렉터리에 [confextrahttpd-를 추가합니다. vhosts.conf] 사이트 구성
 1 <VirtualHost *:80> 
 2     #站点根目录 
 3     DocumentRoot "D:\htdocs\Demo" 
 4       #站点绑定的域名 
 5     ServerName www.test.com 
 6      #站点别名 
 7     ServerAlias test.com 
 8   <Directory  "D:\htdocs\Demo"> 
 9         #允许所有访问
 10         #allow from all
 11         Require all granted
 12         #允许分布式权限配置(允许重写)(.htacess)
 13         AllowOverride All
 14         #不显示站点目录的文件结构
 15         Options -indexes
 16   </Directory>
 17 </VirtualHost>

2) 호스트 파일에 도메인 이름 확인을 추가합니다. 호스트 파일 위치: [C:WindowsSystem32driversetchosts]

1 127.0.0.1 www.test.com  test.com

3) 아파치를 다시 시작합니다. 사이트 구성을 완료하세요.

로그인 페이지 구현

1) 프로젝트 디렉토리 블로그[D:htdocsDemoblog]를 생성하고, git을 초기화한 후 코드 클라우드에 제출합니다.

프로젝트 디렉토리 "Git Bash"에서 마우스 오른쪽 버튼을 클릭하세요. git이 설치되었습니다

1  git init 
2  git remote add origin  
3  git pull origin master
2 ) 사용자 데이터 테이블

pbg_users

 1 CREATE TABLE `pbg_users` ( 
 2   `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT &#39;用户主键&#39;, 
 3   `username` varchar(20) NOT NULL COMMENT &#39;用户名&#39;, 
 4   `pwd` char(32) NOT NULL COMMENT &#39;密码&#39;, 
 5   `email` varchar(50) NOT NULL DEFAULT &#39;&#39; COMMENT &#39;注册邮箱&#39;, 
 6   `token_email` varchar(32) NOT NULL DEFAULT &#39;&#39; COMMENT &#39;邮箱验证&#39;, 
 7   `flag` tinyint(1) unsigned NOT NULL DEFAULT &#39;0&#39; COMMENT &#39;是否是管理员,1-管理员,2-普通用户&#39;, 
 8   `created_at` datetime DEFAULT NULL COMMENT &#39;注册时间&#39;, 
 9   `updated_at` datetime DEFAULT NULL COMMENT &#39;最后一次登录时间&#39;,
 10   `login_ip` varchar(20) NOT NULL DEFAULT &#39;&#39; COMMENT &#39;最后登录的ip地址&#39;,
 11   `login_times` smallint(6) NOT NULL DEFAULT &#39;0&#39; COMMENT &#39;登录次数&#39;,
 12   PRIMARY KEY (`id`),
 13   UNIQUE KEY `username` (`username`),
 14   UNIQUE KEY `email` (`email`)
 15 ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

3) 로그인 인터페이스 [login.html]

 1 <!DOCTYPE html> 
 2 <html lang="zh-CN"> 
 3 <head> 
 4     <meta charset="UTF-8"> 
 5     <title>登录</title> 
 6     <link rel="stylesheet" type="text/css" href="layui/css/layui.css"> 
 7     <link rel="stylesheet" type="text/css" href="css/style.css"> 
 8 </head> 
 9 <body>
 10 <p class="container">
 11     <p class="content">
 12         <form action="login.php" class="layui-form" method="post">
 13             <p class="layui-form-item">
 14                 <h2>登录</h2>
 15             </p><hr>
 16 
 17             <p class="layui-form-item">
 18                 <label class="layui-form-label">用户名:</label>
 19                 <p class="layui-input-block">
 20                     <input type="text" name="username" class="layui-input" required  lay-verify="required"  placeholder="请输入用户名" autocomplete="off" >
 21                 </p>
 22             </p>
 23 
 24             <p class="layui-form-item">
 25                 <label class="layui-form-label">密   码:</label>
 26                 <p class="layui-input-block">
 27                     <input type="password" name="pwd" required lay-verify="required" placeholder="请输入密码"  class="layui-input">
 28                 </p>
 29             </p>
 30 
 31             <p class="layui-form-item">
 32                 <p class="layui-input-block">
 33                     <button  lay-submit class="layui-btn">登录</button>
 34                     <button type="reset" class="layui-btn layui-btn-primary">重置</button>
 35                 </p>
 36             </p>
 37         </form>
 38     </p>
 39 </p>
 40 <script type="text/javascript" src="layui/layui.js"></script>
 41 <script>
 42     layui.use(&#39;form&#39;, function(){
 43         var form = layui.form;
 44     });
 45 </script>
 46 </body>
 47 </html>
4) 로그인 페이지 스타일 조정 [css/style.css]

 1 @charset "UTF-8"; 
 2  
 3 body { 
 4     background-color: #1E9FFF; 
 5 } 
 6  
 7 /*登录*/
 8 .container { 
 9     position: absolute;
 10     left: 50%;
 11     top:50%;
 12     width: 500px;
 13     margin-left: -250px;
 14     margin-top: -200px;"
 15 }
 16 .content{
 17     background: #ffffff;
 18     padding: 20px;
 19     border-radius: 4px;
 20     box-shadow: 5px 5px 50px #444444;
 21 }

스타일 시트 보기

5) 로그인 작업: 로그인 정보 처리 【login.php】

 1 <?php 
 2 /** 
 3  * 登录数据处理 
 4  * User: young 
 5  */ 
 6 header("content-type:text/html;charset=utf-8"); 
 7 //1-接收登录信息 
 8 $data = array(); 
 9 $data[&#39;username&#39;] = trim($_POST[&#39;username&#39;]);
 10 $data[&#39;pwd&#39;] = trim($_POST[&#39;pwd&#39;]);
 11 
 12 //2-连接数据库
 13 $conn = @mysql_connect(&#39;localhost&#39;,&#39;root&#39;,&#39;root&#39;) or die(&#39;连接数据库失败!&#39;);
 14 // mysql_set_charset("utf8");
 15 // mysql_select_db("web");
 16 mysql_query(&#39;set names utf8&#39;,$conn);
 17 mysql_query(&#39;use web&#39;,$conn);
 18 
 19 //3-查询数据库  校验登录信息
 20 $sql = "select username,pwd from pbg_users where username=&#39;{$data[&#39;username&#39;]}&#39;";
 21 $res = mysql_query($sql,$conn);
 22 
 23 //4-登录结果提示信息
 24 if($res != false){
 25     $user = mysql_fetch_array($res);
 26     if( $user[&#39;pwd&#39;] == md5($data[&#39;pwd&#39;]) ){ exit(&#39;登录成功&#39;); }
 27 }
 28 echo "用户名或密码不正确!";
 29 header(&#39;refresh:3; url=login.html&#39;);

보기를 클릭하세요

6) 로그인 인터페이스 효과

분석 및 개선

PHP 소스 코드: 로그인 페이지를 구현하기 위한 사이트 구축 방법1) 최적화 준비

MVC 구조를 구현하기 위한 파일 디렉터리 구조

  1. 액세스 형식: 단일 항목 파일 액세스 실현

  2. 2) 코드 제출:

    1 git add -A
    2 git commit -m "第一次提交 && 登录页"
    3 git push origin master
  3. 이 프로젝트의 소스 코드 보기: https://gitee.com/NewbiesYang /young_blog

요약: 이번 주요 완료:

1. 사이트 구성

2. 로그인 데이터 테이블 및 로그인 페이지 제작, 로그인 로직 구현이 간단함

3. 다음 단계는 최적화 및 개선입니다. 이 글의 전체 내용이 모든 분들의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해 주세요!

관련 권장 사항:

단일 입력 MVC 구조를 구현하는 PHP 소스 코드 방법

프로젝트 파일 BOM 헤더를 일괄 제거하는 PHP 방법

위 내용은 PHP 소스 코드: 로그인 페이지를 구현하기 위한 사이트 구축 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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