thẻ thể hiện một module include từ một file php khác. Phần header (đầu trang) và thư viện hàm sẽ được include trước:
<?php ob_start(); session_start(); include("includes/common.php"); include_once("includes/header.php"); ?>
Sau đó là lần lượt các module: <div id="sub-left"> <?php if(!isset($_SESSION["iddocgia"])){ include_once("includes/module_dang_nhap.php"); } else{ include_once("includes/tt_dang_nhap.php"); } include("includes/module_theloai.php"); ?> <div id="sub-left"> <?php include("includes/module_lien_ket.php"); ?> </div> </div><!--end #sub-left-->
Đoạn code trên kiểm tra session của độc giả, nếu độc giả chưa đăng nhập thì module đăng nhập sẽ được include, nếu độc giả đã đăng nhập thì thay vào đó là module thông tin độc giả.
Phần nội dung chính ở giữa sẽ được lấy từ các file khác, tùy theo điều hướng của người dung. Nhưng mặc định nội dung đó sẽ là trang “home”.
<div id="content"> <div align="right"> <?php
if (empty($_GET['content'])){ $content = 'home'; }
else $content = $_GET['content']; include($content.'.php');
?>
</div></div>
Để hiển thị thông tin sách, ta cần khai báo một biến DOM để đọc tài liệu XML. Giả sử file xml có đường dẫn từ thư mục hiện hành là “xml/sach.xml” :
sql_to_xml_sach(); $file='xml/sach.xml'; if(is_file($file)){ $dom=new DOMDocument('1.0','utf-8') $dom->preserveWhiteSpace=false; if(@$dom->load("xml/sach.xml")){
Nếu lấy dữ liệu từ XML vào biến $dom thành công, ta sẽ hiển thị một bảng dữ liệu, với các trường là các node của phần tử trong XML:
for($i=$batdau;$i<$gioihan;$i++){ $hinh=$childs->item($i)->lastChild->previousSibling->previousSibling- >previousSibling->previousSibling->nodeValue; $tens=$childs->item($i)->firstChild->nodeValue; $theloai=$childs->item($i)->firstChild->nextSibling->nodeValue; $tentg=$childs->item($i)->firstChild->nextSibling->nextSibling->nodeValue; $nxb=$childs->item($i)->firstChild->nextSibling->nextSibling->nextSibling- >nodeValue; $mt=$childs->item($i)->lastChild->previousSibling->previousSibling- >previousSibling->nodeValue; $sol=$childs->item($i)->lastChild->previousSibling->previousSibling- >nodeValue; $ma_sach=$childs->item($i)->getAttribute("masach"); Kịch bản sử dụng:
Khi người dùng nhập tên đăng nhập và mật khẩu xác thực, module thông tin tài khoản sẽ được hiển thị.
Hình 3.15. Module thông tin đăng nhập.
Module này liên kết tới những chức năng mà chỉ có độc giả sau khi đăng nhập mới có thể truy cập. Đồng thời các dòng yêu cầu đăng nhập như trong hình 3.23 cũng được thay thế bằng thao tác “Đặt mượn”.
Hình 3.16. Chức năng đặt mượn được mở.
Tùy theo nhóm độc giả và các tham số và người quản trị đã áp dụng, độc giả sẽ được hưởng những chính sách khác nhau khi mượn sách, ví dụ số sách tối đa một sinh viên có thể mượn được định trước là 3, vậy khi tổng số sách bạn đã đặt và số sách bạn đã mượn nhưng chưa trả đã đạt đến 3, bạn không thể mượn thêm nữa. Thời gian hết hạn cho các yêu cầu cũng khác nhau tùy theo quy định mà quản trị đặt ra.
$id=$_SESSION['iddocgia'];
$query = "SELECT sum(soluong) FROM datmuon WHERE iddocgia=$id AND sophieu = ''";
$result =mysql_query($query); $row = mysql_fetch_array($result);
$sldangdat = $row[0]; //kiểm tra số sách đang được độc giả này đặt
$query1 = "SELECT sum(soluong) FROM datmuon a,phieumuonsach b WHERE a.sophieu=b.sophieu AND iddocgia=$id AND trangthai = 'Chưa trả'";
$result1 =mysql_query($query1); $row1 = mysql_fetch_array($result1);
$sldangmuon = $row1[0]; //kiểm tra số sách đang được độc giả này mượn
$query2 = "SELECT iddocgia FROM sinhvien WHERE iddocgia=$id"; $result2 =mysql_query($query2);
$gioihan = false;
if(mysql_fetch_array($result2)){// kiểm tra độc giả là sinh viên hay giảng viên if($sldangdat + $sldangmuon >= $sosachsv) $gioihan = true;
} else{
if($sldangdat + $sldangmuon >= $sosachgv) $gioihan = true; }
Ngoài ra, độc giả còn có thể sử dụng chức ăng tra cứu trong thư viện, cũng như module thể loại để dễ dàng tìm ra quyển sách mình cần.