앞서 사용자 로그인의 주요 기능을 소개했습니다. 이 페이지에서는 이러한 기능을 PHP 코드를 통해 구현합니다.
여기에서는 POST 메서드를 사용하여 사용자 이름 및 비밀번호와 같은 데이터를 얻습니다.
<?php $username = $_POST["username"]; //用户名 $password = $_POST["password"]; //密码 $code = $_POST["code"]; //验证码 ?>
데이터베이스에 연결하고 연결이 성공했는지 확인해야 합니다. 이전에 데이터베이스 테스트 및 테이블 로그인 생성을 소개했습니다. 여기에서 직접 연결할 수 있습니다.
<?php $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("连接失败:".mysqli_connect_error()); } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); ?>
불법 로그인 접속을 방지하려면 사용자 이름과 비밀번호를 확인해야 합니다.
<?php if($username == "") { //echo "请填写用户名<br>"; echo"<script type='text/javascript'>alert('请填写用户名');location='login.html'; </script>"; } if($password == "") { //echo "请填写密码<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('请填写密码');location='login.html';</script>"; } ?>
사용자가 사용자 이름과 비밀번호를 입력한 후 데이터베이스로 이동하여 그것이 올바른지 확인해야 합니다. 인증이 올바른 경우에만 정상적으로 로그인이 가능하며 로그인 성공 페이지로 이동하실 수 있습니다.
<?php if($rows) { //拿着提交过来的用户名和密码去数据库查找,看是否存在此用户名以及其密码 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "验证成功!<br>"; echo "<script type='text/javascript'>alert('登陆成功');location='success.html';</script>"; } else { //echo "用户名或者密码错误<br>"; echo "<script type='text/javascript'>alert('用户名或者密码错误');location='login.html';</script>"; //echo "<a href='login.html'>返回</a>"; } } ?>
전체 login.php 파일 코드:
<?php //开启Session session_start(); header("Content-type:text/html;charset=utf-8"); $link = mysqli_connect('localhost','root','root','test'); if (!$link) { die("连接失败:".mysqli_connect_error()); } //接受提交过来的用户名及密码 $username = $_POST["username"];//用户名 $password = $_POST["password"];//密码 $code = $_POST["code"]; //验证码 if($username == "") { //echo "请填写用户名<br>"; echo"<script type='text/javascript'>alert('请填写用户名');location='login.html'; </script>"; } if($password == "") { //echo "请填写密码<br><a href='login.html'>返回</a>"; echo"<script type='text/javascript'>alert('请填写密码');location='login.html';</script>"; } if($code != $_SESSION['authcode']) //判断填写的验证码是否与验证码PHP文件生成的信息匹配 { echo "<script type='text/javascript'>alert('验证码错误!');location='login.html';</script>"; } $sql = "select * from login"; $result = mysqli_query($link, $sql); $rows = mysqli_fetch_array($result); if($rows) { //拿着提交过来的用户名和密码去数据库查找,看是否存在此用户名以及其密码 if ($username == $rows["username"] && $password == $rows["password"]) { //echo "验证成功!<br>"; echo "<script type='text/javascript'>alert('登陆成功');location='success.html';</script>"; } else { //echo "用户名或者密码错误<br>"; echo "<script type='text/javascript'>alert('用户名或者密码错误');location='login.html';</script>"; //echo "<a href='login.html'>返回</a>"; } } ?>
참고: 이 과정은 사용자 로그인에 대한 간단한 데모일 뿐이며 해당 코드는 학습 참조용이므로 프로젝트에서 직접 사용할 수 없습니다.
다음 섹션