<?php
if(!isset($bien_bao_mat)){exit();}
function thong_bao_abc($c)
{
$lien_ket_trang_truoc=$_SERVER['HTTP_REFERER'];
?>
<html><head>
<meta charset="UTF-8">
<title>Thông báo</title></head>
<body>
<style type="text/css">
a.trang_truoc_c8w{text-decoration:none;color:blue;font-size:36px;margin-left:50px}
a.trang_truoc_c8w:hover{color:red;}
</style>
<br><br><br><br>
<a href="<?php echo $lien_ket_trang_truoc; ?>" class="trang_truoc_c8w" >Bấm vào đây để trở về trang trước</a>
<script type="text/javascript">
alert("<?php echo $c; ?>");
</script>
</body>
</html>
<?php
exit();
}
function trang_truoc_abc()
{
?>
<html><head>
<meta charset="UTF-8">
<title>Đang chuyển về trang trước</title></head>
<body>
<script type="text/javascript">
window.history.back();
</script>
</body>
</html>
<?php
}
if(isset($_POST['dang_nhap_quan_tri']))
{
$ky_danh=$_POST['ky_danh'];
$ky_danh=str_replace("'","",$ky_danh);
$ky_danh=str_replace('"',"",$ky_danh);
$mat_khau=md5($_POST['mat_khau']);
$mat_khau=md5($mat_khau);
$tv="select count(*) from thong_tin_quan_tri where ky_danh='$ky_danh' and mat_khau='$mat_khau' ";
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1)
{
$_SESSION['ky_danh']=$ky_danh;
$_SESSION['mat_khau']=$mat_khau;
}
else
{
thong_bao_abc("Thông tin nhập vào không đúng");
}
trang_truoc_abc();
}
if(isset($_SESSION['ky_danh']))
{
$ky_danh=$_SESSION['ky_danh'];
$mat_khau=$_SESSION['mat_khau'];
$tv="select count(*) from thong_tin_quan_tri where ky_danh='$ky_danh' and mat_khau='$mat_khau' ";
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1)
{
$xac_dinh_dang_nhap="co";
}
}
?>
if(!isset($bien_bao_mat)){exit();}
function thong_bao_abc($c)
{
$lien_ket_trang_truoc=$_SERVER['HTTP_REFERER'];
?>
<html><head>
<meta charset="UTF-8">
<title>Thông báo</title></head>
<body>
<style type="text/css">
a.trang_truoc_c8w{text-decoration:none;color:blue;font-size:36px;margin-left:50px}
a.trang_truoc_c8w:hover{color:red;}
</style>
<br><br><br><br>
<a href="<?php echo $lien_ket_trang_truoc; ?>" class="trang_truoc_c8w" >Bấm vào đây để trở về trang trước</a>
<script type="text/javascript">
alert("<?php echo $c; ?>");
</script>
</body>
</html>
<?php
exit();
}
function trang_truoc_abc()
{
?>
<html><head>
<meta charset="UTF-8">
<title>Đang chuyển về trang trước</title></head>
<body>
<script type="text/javascript">
window.history.back();
</script>
</body>
</html>
<?php
}
if(isset($_POST['dang_nhap_quan_tri']))
{
$ky_danh=$_POST['ky_danh'];
$ky_danh=str_replace("'","",$ky_danh);
$ky_danh=str_replace('"',"",$ky_danh);
$mat_khau=md5($_POST['mat_khau']);
$mat_khau=md5($mat_khau);
$tv="select count(*) from thong_tin_quan_tri where ky_danh='$ky_danh' and mat_khau='$mat_khau' ";
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1)
{
$_SESSION['ky_danh']=$ky_danh;
$_SESSION['mat_khau']=$mat_khau;
}
else
{
thong_bao_abc("Thông tin nhập vào không đúng");
}
trang_truoc_abc();
}
if(isset($_SESSION['ky_danh']))
{
$ky_danh=$_SESSION['ky_danh'];
$mat_khau=$_SESSION['mat_khau'];
$tv="select count(*) from thong_tin_quan_tri where ky_danh='$ky_danh' and mat_khau='$mat_khau' ";
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1)
{
$xac_dinh_dang_nhap="co";
}
}
?>
- Bạn xem giải thích code file 'xac_dinh_dang_nhap.php' ở phần bên phải phía dưới và phần chữ xanh :
<?php
if(!isset($bien_bao_mat)){exit();} // xuất ra trang trắng nếu truy cập trực tiếp vào file này
function thong_bao_abc($c) // tạo ra hàm 'thong_bao_abc' , hàm này có tác dụng hiển thị ra một
// thông báo gì đó khi gọi lại hàm
{
$lien_ket_trang_truoc=$_SERVER['HTTP_REFERER'];
// $_SERVER['HTTP_REFERER'] dùng để lấy url trang trước
?>
<html><head>
<meta charset="UTF-8">
<title>Thông báo</title></head>
<body>
<style type="text/css">
a.trang_truoc_c8w{text-decoration:none;color:blue;font-size:36px;margin-left:50px}
a.trang_truoc_c8w:hover{color:red;}
</style>
<br><br><br><br>
<a href="<?php echo $lien_ket_trang_truoc; ?>" class="trang_truoc_c8w" >Bấm vào đây để trở về trang trước</a>
// xuất ra liên kết trở về trang trước với liên kết trở về là $lien_ket_trang_truoc
<script type="text/javascript">
alert("<?php echo $c; ?>"); // dùng lệnh alert trong javascript để hiển thị thông báo
// chuỗi xuất ra sẽ dùng code php để xuất
</script>
</body>
</html>
<?php
exit();
}
function trang_truoc_abc() // tạo ra hàm quay trở về trang trước , hàm này tên 'trang_truoc_abc'
{
?>
<html><head>
<meta charset="UTF-8">
<title>Đang chuyển về trang trước</title></head>
<body>
<script type="text/javascript">
window.history.back(); // dùng lệnh window.history.back trong javascript
// để quay trở về trang trước
</script>
</body>
</html>
<?php
} // kết thúc hàm 'thong_bao_abc'
if(isset($_POST['dang_nhap_quan_tri'])) // kiểm tra biểu mẫu đăng nhập có được gửi hay không
// nếu được gửi thì có tồn tại biến $_POST['dang_nhap_quan_tri']
// lưu ý là biểu mẫu đăng nhập dùng method post
// nên phải dùng $_POST để lấy dữ liệu
{
$ky_danh=$_POST['ky_danh']; // lấy thông tin ký danh bằng cách viết $_POST['ky_danh']
// (lưu ý phần name trong form đăng nhập , phần name này được
// dùng để biết vị trí lấy dữ liệu )
$ky_danh=str_replace("'","",$ky_danh); // thay thế dấu ' thành rỗng trong ký danh
$ky_danh=str_replace('"',"",$ky_danh); // thay thế dấu " thành rỗng trong ký danh
// phần ký danh mình không muốn xuất hiện 2 dấu này
// vì sẽ làm câu truy vấn sql bị sai
$mat_khau=md5($_POST['mat_khau']); // lấy thông tin mật khẩu bằng cách viết $_POST['mat_khau'] , sau đó
// mã hóa md5 ( vì phần mật khẩu trong cơ sở dữ liệu mình mã hóa md5
// 2 lần )
$mat_khau=md5($mat_khau); // mã hóa md5 1 lần nữa
$tv="select count(*) from thong_tin_quan_tri where // thực thiện truy vấn vào bảng 'thong_tin_quan_tri' , ở đây dùng
ky_danh='$ky_danh' and mat_khau='$mat_khau' "; // lệnh count ( nghĩa là chỉ đếm số dòng dữ liệu )
// câu truy vấn này sẽ tìm dòng dữ lệu có ký danh và mật khẩu
// khớp với thông tin nhập vào
// nếu nhập đúng thì kết quả truy vấn ở ô đầu tiên sẽ
// có giá trị là 1
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1) // trường hợp đếm kết quả dữ liệu trả về có 1 dòng
// nghĩa là nhập đúng ký danh và mật khẩu
{
$_SESSION['ky_danh']=$ky_danh; // khởi tạo session 'ky_danh' với giá trị là ký danh nhập vào
$_SESSION['mat_khau']=$mat_khau; // khởi tạo session 'mat_khau' với giá trị là mật khẩu nhập vào
// (mật khẩu này đã được mã hóa md5 2 lần)
// 2 session này được dùng để xác định giá trị của biến
// 'xac_dinh_dang_nhap'
}
else
{
thong_bao_abc("Thông tin nhập vào không đúng"); // trường hợp đăng nhập sai thì hiển thị thông báo
// "Thông tin nhập vào không đúng"
}
trang_truoc_abc(); // quay trở về trang trước sau khi đăng nhập quản trị
}
if(isset($_SESSION['ky_danh'])) // kiểm tra sự tồn tại của session 'ky_danh'
// vì chỉ khi session này tồn tại thì biến 'xac_dinh_dang_nhap'
// mới có thể có giá trị là 'co'
{
$ky_danh=$_SESSION['ky_danh']; // lấy thông kin ký danh từ session 'ky_danh'
$mat_khau=$_SESSION['mat_khau']; // lấy thông tin mật khẩu từ session 'mat_khau'
// chỉ khi 2 session này có giá trị đúng thì câu truy vấn phái dưới
// mới trả về 1 dòng dữ liệu (nghĩa là đăng nhập đúng thông tin)
$tv="select count(*) from thong_tin_quan_tri where // câu lệnh này tương tự như lệnh select count phía trên nhưng
ky_danh='$ky_danh' and mat_khau='$mat_khau' "; // ký danh và mật khẩu lấy từ 2 biến session
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1) // trường hợp kiểm tra trùng khớp ký danh , mật khẩu
// nghĩa là đăng nhập đúng ký danh , mật khẩu
{
$xac_dinh_dang_nhap="co"; // biến 'xac_dinh_dang_nhap' sẽ có giá trị là 'co'
}
}
?>
if(!isset($bien_bao_mat)){exit();} // xuất ra trang trắng nếu truy cập trực tiếp vào file này
function thong_bao_abc($c) // tạo ra hàm 'thong_bao_abc' , hàm này có tác dụng hiển thị ra một
// thông báo gì đó khi gọi lại hàm
{
$lien_ket_trang_truoc=$_SERVER['HTTP_REFERER'];
// $_SERVER['HTTP_REFERER'] dùng để lấy url trang trước
?>
<html><head>
<meta charset="UTF-8">
<title>Thông báo</title></head>
<body>
<style type="text/css">
a.trang_truoc_c8w{text-decoration:none;color:blue;font-size:36px;margin-left:50px}
a.trang_truoc_c8w:hover{color:red;}
</style>
<br><br><br><br>
<a href="<?php echo $lien_ket_trang_truoc; ?>" class="trang_truoc_c8w" >Bấm vào đây để trở về trang trước</a>
// xuất ra liên kết trở về trang trước với liên kết trở về là $lien_ket_trang_truoc
<script type="text/javascript">
alert("<?php echo $c; ?>"); // dùng lệnh alert trong javascript để hiển thị thông báo
// chuỗi xuất ra sẽ dùng code php để xuất
</script>
</body>
</html>
<?php
exit();
}
function trang_truoc_abc() // tạo ra hàm quay trở về trang trước , hàm này tên 'trang_truoc_abc'
{
?>
<html><head>
<meta charset="UTF-8">
<title>Đang chuyển về trang trước</title></head>
<body>
<script type="text/javascript">
window.history.back(); // dùng lệnh window.history.back trong javascript
// để quay trở về trang trước
</script>
</body>
</html>
<?php
} // kết thúc hàm 'thong_bao_abc'
if(isset($_POST['dang_nhap_quan_tri'])) // kiểm tra biểu mẫu đăng nhập có được gửi hay không
// nếu được gửi thì có tồn tại biến $_POST['dang_nhap_quan_tri']
// lưu ý là biểu mẫu đăng nhập dùng method post
// nên phải dùng $_POST để lấy dữ liệu
{
$ky_danh=$_POST['ky_danh']; // lấy thông tin ký danh bằng cách viết $_POST['ky_danh']
// (lưu ý phần name trong form đăng nhập , phần name này được
// dùng để biết vị trí lấy dữ liệu )
$ky_danh=str_replace("'","",$ky_danh); // thay thế dấu ' thành rỗng trong ký danh
$ky_danh=str_replace('"',"",$ky_danh); // thay thế dấu " thành rỗng trong ký danh
// phần ký danh mình không muốn xuất hiện 2 dấu này
// vì sẽ làm câu truy vấn sql bị sai
$mat_khau=md5($_POST['mat_khau']); // lấy thông tin mật khẩu bằng cách viết $_POST['mat_khau'] , sau đó
// mã hóa md5 ( vì phần mật khẩu trong cơ sở dữ liệu mình mã hóa md5
// 2 lần )
$mat_khau=md5($mat_khau); // mã hóa md5 1 lần nữa
$tv="select count(*) from thong_tin_quan_tri where // thực thiện truy vấn vào bảng 'thong_tin_quan_tri' , ở đây dùng
ky_danh='$ky_danh' and mat_khau='$mat_khau' "; // lệnh count ( nghĩa là chỉ đếm số dòng dữ liệu )
// câu truy vấn này sẽ tìm dòng dữ lệu có ký danh và mật khẩu
// khớp với thông tin nhập vào
// nếu nhập đúng thì kết quả truy vấn ở ô đầu tiên sẽ
// có giá trị là 1
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1) // trường hợp đếm kết quả dữ liệu trả về có 1 dòng
// nghĩa là nhập đúng ký danh và mật khẩu
{
$_SESSION['ky_danh']=$ky_danh; // khởi tạo session 'ky_danh' với giá trị là ký danh nhập vào
$_SESSION['mat_khau']=$mat_khau; // khởi tạo session 'mat_khau' với giá trị là mật khẩu nhập vào
// (mật khẩu này đã được mã hóa md5 2 lần)
// 2 session này được dùng để xác định giá trị của biến
// 'xac_dinh_dang_nhap'
}
else
{
thong_bao_abc("Thông tin nhập vào không đúng"); // trường hợp đăng nhập sai thì hiển thị thông báo
// "Thông tin nhập vào không đúng"
}
trang_truoc_abc(); // quay trở về trang trước sau khi đăng nhập quản trị
}
if(isset($_SESSION['ky_danh'])) // kiểm tra sự tồn tại của session 'ky_danh'
// vì chỉ khi session này tồn tại thì biến 'xac_dinh_dang_nhap'
// mới có thể có giá trị là 'co'
{
$ky_danh=$_SESSION['ky_danh']; // lấy thông kin ký danh từ session 'ky_danh'
$mat_khau=$_SESSION['mat_khau']; // lấy thông tin mật khẩu từ session 'mat_khau'
// chỉ khi 2 session này có giá trị đúng thì câu truy vấn phái dưới
// mới trả về 1 dòng dữ liệu (nghĩa là đăng nhập đúng thông tin)
$tv="select count(*) from thong_tin_quan_tri where // câu lệnh này tương tự như lệnh select count phía trên nhưng
ky_danh='$ky_danh' and mat_khau='$mat_khau' "; // ký danh và mật khẩu lấy từ 2 biến session
$tv_1=mysql_query($tv);
$tv_2=mysql_fetch_array($tv_1);
if($tv_2[0]==1) // trường hợp kiểm tra trùng khớp ký danh , mật khẩu
// nghĩa là đăng nhập đúng ký danh , mật khẩu
{
$xac_dinh_dang_nhap="co"; // biến 'xac_dinh_dang_nhap' sẽ có giá trị là 'co'
}
}
?>
- Sau đó bạn vào trang quản trị (truy cập vào đường dẫn http://localhost/ban_hang/quan_tri) thì sẽ thấy có khung đăng nhập như hình sau :
- Trường hợp bạn đăng nhập sai thì sẽ xuất hiện thông báo sau :
- Trường hợp bạn đăng nhập thành công thì sẽ xuất hiện ra dòng chữ đã đăng nhập (ký danh là 'admin' , mật khẩu là 'admin' )