PHP - เข้าสู่ระบบ MySQL
บทช่วยสอนนี้สาธิตวิธีสร้างหน้าเข้าสู่ระบบด้วยฐานข้อมูล MySQL ก่อนเข้าสู่ส่วนของรหัสคุณจะต้องมีสิทธิพิเศษในการสร้างหรือลบฐานข้อมูล MySQL ดังนั้นสมมติว่าคุณมีสิทธิ์เข้าถึงผู้ใช้ root คุณสามารถสร้างฐานข้อมูลใดก็ได้โดยใช้ mysql mysqladmin binary
Config.php
ไฟล์ Config.php มีข้อมูลเกี่ยวกับการกำหนดค่าฐานข้อมูล MySQL
<?php
define('DB_SERVER', 'localhost:3036');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'rootpassword');
define('DB_DATABASE', 'database');
$db = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
?>
Login.php
เข้าสู่ระบบ PHP มีข้อมูลเกี่ยวกับสคริปต์ php และสคริปต์ HTML เพื่อทำการเข้าสู่ระบบ
<?php
include("config.php");
session_start();
if($_SERVER["REQUEST_METHOD"] == "POST") {
// username and password sent from form
$myusername = mysqli_real_escape_string($db,$_POST['username']);
$mypassword = mysqli_real_escape_string($db,$_POST['password']);
$sql = "SELECT id FROM admin WHERE username = '$myusername' and passcode = '$mypassword'";
$result = mysqli_query($db,$sql);
$row = mysqli_fetch_array($result,MYSQLI_ASSOC);
$active = $row['active'];
$count = mysqli_num_rows($result);
// If result matched $myusername and $mypassword, table row must be 1 row
if($count == 1) {
session_register("myusername");
$_SESSION['login_user'] = $myusername;
header("location: welcome.php");
}else {
$error = "Your Login Name or Password is invalid";
}
}
?>
<html>
<head>
<title>Login Page</title>
<style type = "text/css">
body {
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
}
label {
font-weight:bold;
width:100px;
font-size:14px;
}
.box {
border:#666666 solid 1px;
}
</style>
</head>
<body bgcolor = "#FFFFFF">
<div align = "center">
<div style = "width:300px; border: solid 1px #333333; " align = "left">
<div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Login</b></div>
<div style = "margin:30px">
<form action = "" method = "post">
<label>UserName :</label><input type = "text" name = "username" class = "box"/><br /><br />
<label>Password :</label><input type = "password" name = "password" class = "box" /><br/><br />
<input type = "submit" value = " Submit "/><br />
</form>
<div style = "font-size:11px; color:#cc0000; margin-top:10px"><?php echo $error; ?></div>
</div>
</div>
</div>
</body>
</html>
welcome.php
หลังจากเข้าสู่ระบบสำเร็จจะแสดงหน้ายินดีต้อนรับ
<?php
include('session.php');
?>
<html">
<head>
<title>Welcome </title>
</head>
<body>
<h1>Welcome <?php echo $login_session; ?></h1>
<h2><a href = "logout.php">Sign Out</a></h2>
</body>
</html>
หน้าออกจากระบบ
หน้าออกจากระบบมีข้อมูลเกี่ยวกับวิธีการออกจากระบบจากเซสชันการเข้าสู่ระบบ
<?php
session_start();
if(session_destroy()) {
header("Location: login.php");
}
?>
session.php
Session.php จะตรวจสอบเซสชันหากไม่มีเซสชันจะเปลี่ยนเส้นทางไปยังหน้าล็อกอิน
<?php
include('config.php');
session_start();
$user_check = $_SESSION['login_user'];
$ses_sql = mysqli_query($db,"select username from admin where username = '$user_check' ");
$row = mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);
$login_session = $row['username'];
if(!isset($_SESSION['login_user'])){
header("location:login.php");
die();
}
?>