PHP 기반 사용자 로그 인 등록 기능 구현 에 대한 자세 한 튜 토리 얼

14172 단어 PHP로그 인책.
튜 토리 얼 전에 먼저 편집장 의 실현 성 과 를 보 여 드 리 겠 습 니 다!
그림 1:
在这里插入图片描述
그림 2:
在这里插入图片描述
그림 3:
在这里插入图片描述
튜 토리 얼:
이 기능 을 실현 하려 면 다섯 개의 php 파일 이 필요 합 니 다.
login.php
(로그 인 인터페이스,그림 2 참조)

<!DOCTYPE html>
<html><head>
<title>  </title>
<meta name="content-type"; charset="UTF-8">
</head><body> 
<div class="content" align="center"> <!--  -->
 <div class="header"> <h1>    </h1> </div> 
<!--  --> 
<div class="middle">
 <form id="loginform" action="loginaction.php" method="post"> 
<table border="0"> <tr> 
 <td>   :</td> 
<td> <input type="text" id="name" name="username" 
required="required" value="<?php
echo isset($_COOKIE[""]) ? $_COOKIE[""] : ""; ?>"> </td> </tr> 
<tr> <td>   :</td> <td><input type="password" id="password" name="password"></td> 
</tr> <tr> <td colspan="2"> <input type="checkbox" name="remember"><small>    </td> </tr> <tr> <td 
colspan="2" align="center" style="color:red;font-size:10px;"> <!--    --> <?php
$err = isset($_GET["err"]) ? $_GET["err"] : "";
switch ($err) {
 case 1:
  echo "        !";
  break;

 case 2:
  echo "          !";
  break;
} ?> </td> </tr> <tr> <td colspan="2" align="center"> 
<input type="submit" id="login" name="login" value="  "> <input type="reset" id="reset" 
name="reset" value="  "> </td> </tr> 
<tr> 
 <td colspan="2" align="center">      ,  <a href="register.php" rel="external nofollow" >  </a> </td>
</tr> 
</table> 
</form> 
</div> 
<!--  --> 
<div class="footer"> <small>Copyright &copy;     ・     </div> </div>
</body>
</html>  
loginaction.php
(login.php 로 데이터베이스 와 의 연결 을 실현 하고 입력 을 교정 합 니 다)

<?php
// $Id:$ //    
$username = isset($_POST['username']) ? $_POST['username'] : "";
$password = isset($_POST['password']) ? $_POST['password'] : "";
$remember = isset($_POST['remember']) ? $_POST['remember'] : ""; //            
if (!empty($username) && !empty($password)) { //    
 $conn = mysqli_connect('localhost', '', '', 'user'); //  SQL  
 $sql_select = "SELECT username,password FROM usertext WHERE username = '$username' AND password = '$password'"; //  SQL  
 $ret = mysqli_query($conn, $sql_select);
 $row = mysqli_fetch_array($ret); //            
 if ($username == $row['username'] && $password == $row['password']) 
 { //  “   ”
  if ($remember == "on") 
  { //  cookie
   setcookie("", $username, time() + 7 * 24 * 3600);
  } //  session
  session_start(); //  session
  $_SESSION['user'] = $username; //    
  $ip = $_SERVER['REMOTE_ADDR'];
  $date = date('Y-m-d H:m:s');
  $info = sprintf("      :%s,IP  :%s,  :%s /n", $username, $ip, $date);
  $sql_logs = "INSERT INTO logs(username,ip,date) VALUES('$username','$ip','$date')";
  //      ,      ,        logs
  $f = fopen('./logs/' . date('Ymd') . '.log', 'a+');
  fwrite($f, $info);
  fclose($f); //   loginsucc.php  
  header("Location:loginsucc.php"); //     ,   loginsucc.php
  mysqli_close($conn);
 }
 else 
 { 
  //        ,  err 1
  header("Location:login.php?err=1");
 }
} else { //        ,  err 2
 header("Location:login.php?err=2");
} ?>
loginsucc.php
(로그 인 성공 후 인터페이스,그림 3 참조)

<!DOCTYPE html>
<html>
<head>
<title>    </title>
<meta name="content-type";
 charset="UTF-8">
</head>
<body> 
<div> 
<?php
// $Id:$ //  session
session_start(); //    
$username = isset($_SESSION['user']) ? $_SESSION['user'] : ""; //  session    
if (!empty($username)) { ?> 
<h1>    !</h1>    !
<?php
 echo $username; ?> 
<br/> <a href="login.php" rel="external nofollow" rel="external nofollow" >  </a> //      
<?php
} else { //   ,    
  ?>
 <h1>     !!!</h1> 
<?php
} ?> </div>
</body>
</html>
register.php
(등록 인터페이스,그림 1 참조)

<!DOCTYPE html>
<html>
<head><title>  </title>
<meta name="content-type"; charset="UTF-8">
</head><body> 
<div class="content" align="center"> <!--  --> 
<div class="header"> <h1>    </h1> </div> <!--  --> 
<div class="middle"> 
<form action="registeraction.php" method="post"> <table border="0"> 
<tr> <td>   :</td> 
<td><input type="text" id="id_name" name="username" required="required"></td> 
</tr> <tr>
 <td>   :</td> <td><input type="password" id="password" name="password" 
required="required"></td> 
</tr> <tr>
 <td>    :</td> <td><input type="password" id="re_password" 
name="re_password" required="required"></td> </tr> <tr>
 <td>  :</td> <td> <input type="radio" id="sex" name="sex" value="mam">  <input type="radio" id="sex" name="sex" value="woman">  </td> </tr> <tr>
 <td>QQ:</td> <td><input type="text" id="qq" name="qq" required="required"></td> </tr> <tr> 
<td>Email:</td> <td><input type="email" id="email" name="email" required="required"></td> </tr> <tr> 
<td>  :</td> <td><input type="text" id="phone" name="phone" required="required"></td> </tr> <tr> 
<td>  :</td> <td><input type="text" id="address" name="address" required="required"></td> </tr> 
<tr> <td colspan="2" align="center" style="color:red;font-size:10px;"> <!--    --> 
<?php
$err = isset($_GET["err"]) ? $_GET["err"] : "";
switch ($err) {
 case 1:
  echo "      !";
  break;

 case 2:
  echo "          !";
  break;

 case 3:
  echo "    !";
  break;
}
?> 
</td> </tr> <tr> <td colspan="2" align="center"> 
<input type="submit" id="register" name="register" value="  ">
 <input type="reset" id="reset" name="reset" value="  "> </td></tr> 
 <tr> <td colspan="2" align="center"> 
      ,  <a href="login.php" rel="external nofollow" rel="external nofollow" >  </a> ! </td> </tr> </table> </form> </div> 
<!--  --> 
<div class="footer"> <small>Copyright &copy;     ・     </div> </div></body></html>
registeraction.php
(register.php 데이터 베 이 스 를 연결 하고 지정 한 폼 에 데 이 터 를 삽입 합 니 다)

<?php
// $Id:$ //    
$username = isset($_POST['username']) ? $_POST['username'] : "";
$password = isset($_POST['password']) ? $_POST['password'] : "";
$re_password = isset($_POST['re_password']) ? $_POST['re_password'] : "";
$sex = isset($_POST['sex']) ? $_POST['sex'] : "";
$qq = isset($_POST['qq']) ? $_POST['qq'] : "";
$email = isset($_POST['email']) ? $_POST['email'] : "";
$phone = isset($_POST['phone']) ? $_POST['phone'] : "";
$address = isset($_POST['address']) ? $_POST['address'] : "";
if ($password == $re_password) { //    
 $conn = mysqli_connect("localhost", "", "", "user"); //  SQL  ,     
 $sql_select = "SELECT username FROM usertext WHERE username = '$username'"; //  SQL  
 $ret = mysqli_query($conn, $sql_select);
 $row = mysqli_fetch_array($ret); //          
 if ($username == $row['username']) { //      ,      
  header("Location:register.php?err=1");
 } else { //      ,     //  SQL  
  $sql_insert = "INSERT INTO usertext(username,password,sex,qq,email,phone,address) 
VALUES('$username','$password','$sex','$qq','$email','$phone','$address')"; //  SQL  
  mysqli_query($conn, $sql_insert);
  header("Location:register.php?err=3");
 } //     
 mysqli_close($conn);
} else {
 header("Location:register.php?err=2");
} ?>
다섯 개의 파일 을 로 컬 에 저장 하 는 것 을 권장 합 니 다.변경 하기 쉽 습 니 다.물론 Liux 의 텍스트 편집기 로 도 직접 업로드 한 후에 서버 에서 수정 할 수 있 습 니 다.파일 저장 후:
1.데이터베이스 및 폼 만 들 기
phpmyadmin 시각 화 인 터 페 이 스 를 통 해 만 든 데이터베이스 와 폼 입 니 다.ip/phpmyadmin 에 들 어간 후 데이터베이스 에 로그 인 합 니 다.
在这里插入图片描述
my admin 에 로그 인 한 후 데이터베이스 user 와 폼 usertext 를 만 듭 니 다.
在这里插入图片描述
在这里插入图片描述
2.phop 파일 에서 데이터 베 이 스 를 조작 하 는 함수
다음 php 데이터베이스 조작 함수 의 역할 을 설명 합 니 다.
(1)mysqli_connect("localhost","서버 이름","데이터베이스 비밀번호","연 결 된 데이터베이스 이름");
매개 변수 설명:
"localhost"는 변경 할 필요 가 없습니다.초보 자 는 서버 의 ip 주소 로 바 꾸 지 마 십시오.데이터 베 이 스 를 만 드 는 기본 권한 이 있 기 때문에 사용 자 를 방문 할 수 있 습 니 다.
在这里插入图片描述
"연 결 된 데이터베이스 이름"은 데이터베이스 에 폼 을 쓰 지 마 십시오.첫 번 째 user 는 데이터베이스 이 고 usertext 는 폼 입 니 다.
(2)mysqli_query()함수 가 데이터베이스 에 대한 조 회 를 실행 합 니 다:
mysqli_query(connection,query,resultmode);
매개 변수 설명:
connection 필수.사용 할 MySQL 연결 을 지정 합 니 다.
query 는 검색 문자열 을 규정 해 야 합 니 다.
(이것 은 my sql 명령 을 저장 하 는 문자열 입 니 다.명령 내용 은 이 함수 로 이 루어 져 야 합 니 다)
resultmode
선택 할 수 있다.상수다음 값 중 임의의 값 일 수 있 습 니 다:
MYSQLI_USE_RESULT(대량의 데 이 터 를 검색 하려 면 이 를 사용 하 십시오)
MYSQLI_STORE_결과(기본 값)
eg:
(3)mysqli_fetch_array()함수
결과 에서 한 줄 을 집중 적 으로 얻어 관련 수조 나 디지털 수조 또는 양자 겸유 로 한다.
mysqli_fetch_array(result,resulttype);
매개 변수 설명:
result 필수.규정 은 mysqlquery()、mysqli_store_result()또는 my sqluse_result()가 돌아 온 결과 집합 식별 자 입 니 다.
resulttype 선택 가능.어떤 종류의 배열 을 만들어 야 하 는 지 규정 하 다.다음 값 중 하나 일 수 있 습 니 다:
MYSQLI_ASSOC
MYSQLI_NUM
MYSQLI_BOTH
3.phop 파일 을 수정 하여 로그 인 등록 을 실현 합 니 다.
다음은 loginaction.php 와 registeraction.php 두 파일 을 변경 합 니 다.
데이터베이스 생 성 이 첫 번 째 단계 와 같다 면 두 파일 중:
mysqli_connect("localhost","서버 이름","데이터베이스 비밀번호","user");
사용자 정 보 를 작성 하면 됩 니 다.
데이터베이스 이름 이나 폼 이 다 르 면 다음 문 구 를 찾 아야 합 니 다.
mysqli_connect("localhost","서버 이름","데이터베이스 비밀번호","user");
SELECT;
INSERT INTO;(registeraction.php 에 만 있 습 니 다)
위 문장의(데이터베이스 이름)user 와(폼 이름)usertext 를 데이터베이스 이름과 폼 이름 으로 변경 합 니 다.
4 한층 더 보완
관심 있 는 친 구 는 편집장 처럼 하이퍼링크 를 만들어 보고 로그 인 에 성공 한 후 지정 한 웹 페이지 로 이동 할 수 있 습 니 다.
loginsucc.php 에서 로그아웃 을 찾 아 login.php 를 다른 웹 페이지 로 변경 합 니 다.(파일 이름 을 직접 쓰 려 면 같은 디 렉 터 리 에 두 어야 합 니 다)
在这里插入图片描述
링크 클릭:
在这里插入图片描述
물론 들 어 갈 때 도 있 고 나 올 때 도 있 습 니 다.여기 작은 편집 자 는 로그 인 을 종료 하 는 modal 을 설정 하 였 습 니 다.
(boottstrap 사용:https://getbootstrap.com/docs/4.3/getting-started/introduction/)
在这里插入图片描述
PHP 를 기반 으로 사용자 로그 인 등록 기능 을 실현 하 는 상세 한 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 PHP 는 사용자 로그 인 등록 내용 을 실현 합 니 다.우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!

좋은 웹페이지 즐겨찾기