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 © ・ </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 © ・ </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 는 사용자 로그 인 등록 내용 을 실현 합 니 다.우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 지원 을 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.