Nhập môn PHP

Đề tài thiếtkế Web giúp tìm hiểu và thực hiện trang Web độngvới ngôn

ngữkịchbản PHP, cáckếtnốivớihệ quản trịcơsởdữ liệu MySQL,lấydữ

liệu đểhiểnthịtrên trang Web và cập nhậtdữliệu trởlại.

Đềtài của chúng em là website giới thiệusản phẩmbánhkẹo nênchức năng

chính của website sẽgồm những nộidung cơbản sau:

- Giới thiệu vềcửa hàng

- Giới thiệu vềcácsản phẩm mà cửa hàng kinh doanh

- Cho phépnhân viên của cửa hàng có thểcập nhật thông tin vềsản phẩm

một cách nhanh chóng.

pdf32 trang | Chuyên mục: PHP | Chia sẻ: dkS00TYs | Lượt xem: 2210 | Lượt tải: 3download
Tóm tắt nội dung Nhập môn PHP, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
lý Đơn vị tính 
10) Trang quản lý người dùng 
 24 
11) Trang thống kê sản phẩm 
12) Trang thông báo lỗi khi người dùng không có quyền thao tác 
 25 
Chương V: Viết Code 
1) Đoạn mã kiểm tra đăng nhập 
<?php 
@session_start(); 
require("../include/csdl.inc"); //Nhúng tập tin kết nối CSDL 
$sql="select * from tblnsd where 
TenTruyNhap='".$_POST['txtUsername']."' and MatKhau 
='".md5($_POST['txtPassword'])."'"; 
$result=mysql_query($sql,$link); 
$totalRows=mysql_num_rows($result); 
//Nếu tìm thấy NSD có tên truy nhập & mật khẩu trùng với tên & mật 
khẩu nhập vào 
if($totalRows>0) 
{ 
 session_unset('login'); //Hủy session có tên login 
 while($row=mysql_fetch_array($result)) 
 { 
 //Đăng ký các biến Session 
$_SESSION['username']=$row['TenTruyNhap']; 
$_SESSION['Quyen']=$row['Quyen']; 
 $_SESSION['login']="Y"; 
 echo '<meta http-equiv=refresh 
content="2;URL=index.php">'; 
echo 'Đăng 
nhập thành công!!!'; 
 echo ''; 
echo 'Nhấp vào đây nếu trình duyệt không tự động 
chuyển'; 
 } 
 } 
 else //Nếu ko tìm thấy => Thông báo lỗi 
 { 
 echo 'alert("Sai Tên truy cập hoặc Mật 
khẩu!\nVui lòng kiểm tra lại"); 
 history.go(-1)'; 
 } 
?> 
2) Đoạn mã trang kết quả tìm kiếm 
 switch($_POST['cboTimTheo']) 
 { 
 case "all": //Tim theo ten hang & don gia (chon mac dinh) 
 $sql="select * from tblmathangxuat where TenHang like 
'%".$_POST['txtTukhoa']."%' or DonGia='".$_POST['txtTukhoa']."'"; 
 break; 
 case "tensp": //Tim theo ten san pham 
 $sql="select * from tblmathangxuat where TenHang like 
'%".$_POST['txtTukhoa']."%'"; 
 break; 
 case "gia": //Tim theo gia 
 $sql="select * from tblmathangxuat where DonGia between 
'".$_POST['txtGiaBegin']."' and '".$_POST['txtGiaEnd']."'"; 
break; 
 } 
 $result=mysql_query($sql,$link); //Thực thi câu lệnh SQL 
 26 
 $totalRows=mysql_num_rows($result); //Đếm tổng số bản ghi tìm 
thấy 
 ........ 
 //Trình bày kết quả tìm kiếm 
 If($totalRows<0) //Nếu ko tìm thấy 
 { 
 echo "Không tìm thấy sản phẩm 
nào giống với từ khóa bạn nhập!"; 
 } 
 Else 
 { 
 ...... 
Echo ‘ 
 STT 
 Tên sản phẩm 
 Đơn giá 
 Tình trạng 
 ’; 
 #vòng lặp đọc từng bản ghi 
 while ($row = mysql_fetch_array ($result)) 
 { 
 <a 
href="index.php?open=item_detail&MatHangID=
"> 
 đ/ 
 <? 
# câu lệnh SQL lấy ra đơn vị tính tương ứng với từng sản phẩm 
$result1=mysql_query("select * from tbldonvitinh where 
MaDVT='".$row['MaDVT']."'",$link); 
 while($row1=mysql_fetch_array($result1)) 
 { 
 echo $row1['TenDVT']; 
 } 
 ?> 
 <?php 
 if($row['TinhTrang']==0) 
 echo 'Hết hàng'; 
 else 
 echo 'Còn hàng'; 
 ?> 
....... 
3) Đoạn mã trang Cập nhật thông tin sản phẩm 
<?php 
@session_start(); //Khởi động session 
#Kiểm tra xem đã đăng nhập & có quyền truy cập trang này ko? 
if($_SESSION['login']!="Y" || $_SESSION['Quyen']==0) 
 27 
 echo 'Bạn không được phép 
truy cập trang này!'; 
else 
{ 
 require("../include/csdl.inc"); //chèn tập tin kết nối CSDL 
$edit=$_POST['SubFormItem']; //xử lý hành động 
 switch($edit) 
 { 
 case "Thêm": //Trường hợp thêm sản phẩm 
 $uploaddir = '..\\images\\uploads\\'; 
 $uploadfile = 
$uploaddir.basename($_FILES['imgAnhMatHang']['name']); 
#Copy file ảnh lên thư mục uploads 
move_uploaded_file($_FILES['imgAnhMatHang']['tmp_name'], 
$uploadfile); 
 #Thực hiện câu lệnh SQL thêm thông tin vào CSDL 
 $sql="insert into tblmathangxuat(TenHang,MaNhomMatHang,MaDVT, 
Anh, GhiChu, DonGia,NgayNhap)"; 
 $sql.=" 
values('".$_POST['txtTenMatHang']."','".$_POST['cboNhomMatHang']."','
".$_POST['cboDonViTinh']."','".basename($_FILES['imgAnhMatHang']['nam
e'])."','".$_POST['txtGhiChuMatHang']."','".$_POST['txtDonGiaMatHang'
]."','".date("Y-m-d")."')"; 
 break; 
 case "Cập nhật": //Trường hợp cập nhật sản phẩm 
 $uploaddir = '..\\images\\uploads\\'; 
 $uploadfile = 
$uploaddir.basename($_FILES['imgAnhMatHang']['name']); 
 if($_FILES['imgAnhMatHang']['name']=="") 
 { 
 $sql_img=""; 
 } 
 else 
 { 
 $sql_img="Anh='".basename($_FILES['imgAnhMatHang']['name'])."',"
; 
 move_uploaded_file($_FILES['imgAnhMatHang']['tmp_name'], 
$uploadfile); 
 } 
 #Câu lệnh SQL cập nhật thông tin sản phẩm 
 $sql="Update tblmathangxuat set 
TenHang='".$_POST['txtTenMatHang']."', 
MaNhomMatHang='".$_POST['cboNhomMatHang']."',"; 
 $sql.=" 
MaDVT='".$_POST['cboDonViTinh']."',".$sql_img."TinhTrang='".$_POST['c
boTinhTrangMatHang']."', GhiChu='".$_POST['txtGhiChuMatHang']."',"; 
 $sql.=" DonGia='".$_POST['txtDonGiaMatHang']."', 
NgayNhap='".$_POST['txtNgayNhap']."' where 
MaMatHangXuat='".$_POST['txtMaMatHangXuat']."'"; 
 break; 
 case "Xóa": //Trường hợp xóa sản phẩm 
 #Nếu chưa chọn mặt hàng nào để xóa thì thông báo lỗi 
 if(empty($_POST['MatHangID'])) 
 { 
 echo 'alert("Bạn chưa chọn Mặt Hàng nào!\nVui 
lòng kiểm tra lại"); 
 28 
 history.go(-1)'; 
 } 
 # Nếu ko thì 
 else 
 { 
 if(is_array($_POST['MatHangID'])) 
 { 
 $id=""; 
 #dùng vòng lặp để lấy mã sản phẩm (trong trường hợp xóa nhiều 
sản phẩm) 
 while(list($key,$value) = each($_POST['MatHangID'])) 
 { 
 $id.=$value.','; 
 } 
 } 
#Định dạng các mã sp vừa lấy được cho phù hợp với câu lệnh SQL 
 $id=str_replace(",","','", $id); 
#Câu lệnh SQL để xóa thông tin sản phẩm 
$sql="delete from tblmathangxuat where MaMatHangXuat IN ('".$id."')"; 
 $del="select Anh from tblmathangxuat where MaMatHangXuat In 
('".$id."')"; 
 $del_result=mysql_query($del,$link); 
 while($dodel=mysql_fetch_array($del_result)) 
 { 
 #Hàm xóa file ảnh trong thư mục uploads 
 unlink("..\\images\\uploads\\".$dodel['Anh']); 
 } 
 } 
 break; 
} 
#Thực thi phát biểu SQL 
$result=mysql_query($sql,$link); 
mysql_close(); //đóng kết nối csdl 
echo 
'window.setTimeout("window.location=\'index.php?do=list_edit_
item\'",100);'; 
} 
?> 
4) Đoạn mã cập nhật thông tin người dùng 
...... 
require("../include/csdl.inc"); //chèn tập tin kết nối csdl 
$act=$_POST['SubFormUser']; // 
switch($act) //lựa chọn hành động 
{ 
 case "Thêm": //trường hợp thêm người dùng 
 #kiểm tra xem đã tồn tại tên truy nhập chưa? 
$check="select * from tblnsd where 
TenTruyNhap='".$_POST['txtTenTruyNhap']."'"; 
#nếu có rồi thì thông báo lỗi 
if(mysql_num_rows(mysql_query($check,$link))>0) 
 echo 'alert("Tên truy nhập này đã tồn tại trong 
CSDL\nVui lòng kiểm tra 
lại!");window.location="index.php?do=add_user";'; 
 #nếu chưa thì 
else 
 #câu lệnh sql thêm người dùng 
 29 
$sql="insert into tblnsd(TenTruyNhap,MatKhau,Quyen) 
values('".$_POST['txtTenTruyNhap']."','".md5($_POST['txtMatkhau'])."'
,'".$_POST['cboQuyen']."')"; 
 break; 
case "Cập nhật": //trường hợp cập nhật 
 #nếu người dùng ko thay đổi mật khẩu 
if(empty($_POST['txtMatkhau'])) 
 { 
 #câu lệnh sql cập nhật quyền truy cập 
$sql="update tblnsd set 
Quyen='".$_POST['cboQuyen']."' where 
MaNSD='".$_POST['lstUser']."'"; 
 } 
#nếu người dùng đổi mật khẩu 
else 
 { 
 #câu lệnh sql cập nhật quyền & mật khẩu 
$sql="update tblnsd set MatKhau = 
'".md5($_POST['txtMatkhau'])."', Quyen='".$_POST['cboQuyen']."' where 
MaNSD='".$_POST['lstUser']."'"; 
 } 
 break; 
case "Xóa": //trường hợp xóa người dùng 
 $sql="delete from tblnsd where MaNSD='".$_POST['lstUser']."'"; 
 break; 
} 
$result=mysql_query($sql,$link); //thực thi câu lệnh sql 
mysql_close(); //đóng kết nối csdl 
.... 
Các trang cập nhật Đơn vị tính, cập nhật Nhóm mặt hàng cũng tương tự 
trang này. 
5) Đoạn mã trang thống kê sản phẩm 
#câu lệnh sql lấy thông tin mặt hàng & nhóm mặt hàng, sắp xếp theo 
tên nhóm mặt hàng 
$sql="select *,DATE_FORMAT(NgayNhap,'%d/%m/%Y') as Nhap from 
tblmathangxuat,tblnhommathang"; 
$sql.=" where 
tblmathangxuat.MaNhomMatHang=tblnhommathang.MaNhomMatHang"; 
$sql.=" order by TenNhomMatHang DESC"; 
#thực thi câu lệnh sql 
$truyvan=mysql_query($sql,$link); 
#đếm tổng số bản ghi 
$num=mysql_num_rows($truyvan); 
 if($num==0) //nếu ko có bản ghi nào 
 { 
 echo 'Không có sản phẩm nào 
trong cơ sở dữ liệu!'; 
 } 
 Else //nếu có 
 { 
 $i=0; 
 30 
 #đọc từng bản ghi = vòng lặp while 
 while($row_truyvan=mysql_fetch_object($truyvan)) 
 { 
 $i++; 
 ?> 
   
 TenHang?> 
 DonGia?> 
 đ 
 Nhap?> 
 TenNhomMatHang?> 
<?php 
} 
?>......... 
6) Đoạn mã trang Đăng xuất 
#nếu đã đăng ký biến session thì 
if(session_is_registered('login')) 
{ 
 #hủy sessionn 
 session_unregister('login'); 
 session_unregister('Quyen'); 
 session_destroy(); 
 $_SESSION['login']="N"; //gán trạng thái chưa đăng nhập 
 $_SESSION['Quyen']=0; //gán quyền = 0 
} 
Hướng phát triển chương trình 
· Cung cấp khả năng mua hàng & thanh toán trực tuyến 
· Phát triển thêm một vài chức năng để website “động” hơn nữa 
 31 
Kết luận: 
Thời gian thực tập vừa qua đã giúp chúng em tiến bộ rất nhiều trong việc 
học hỏi, nghiên cứu về công nghệ thông tin cũng như việc thiết kế Website. 
Không những thế, đợt thực tập này cũng giúp chúng em tìm ra được cách làm 
việc hiệu quả nhất đối với phương pháp làm việc theo nhóm. 
Việc thiết kế Web này được dựa trên ngôn ngôn ngữ lập trình PHP, HTML, 
và cơ sở dữ liệu MySQL. Website được dùng để giới thiệu sản phẩm trên 
mạng. 
Do còn nhiều hạn chế về mặt thời gian, kiến thức và kinh nghiệm làm việc 
nên bài thực tập không thể tránh khỏi những khiếm khuyết và sai sót. Vì vậy, 
chúng em rất mong được sự đóng góp ý kiến của thầy cô để chúng em có thể 
hoàn thiện đề tài hơn nữa. 
Cuối cùng, chúng em xin bày tỏ lòng biết ơn sâu sắc đến thầy Đào Trần 
Minh đã tận tình hướng dẫn chúng em trong thời gian hoàn thành bài thực tập 
chuyên ngành này. 
Hà Nội, ngày 1/3/2006 
Sinh viên 
Đỗ Nam Khánh 
Vũ Mạnh Linh 
 32 
Tài liệu tham khảo 
Các website: 
1.  
2.  
3.  
4.  
Tài liệu 
1. MySQL /PHP Database Applications 
2. MySQL Manual 
3. Xây dựng ứng dụng web bằng PHP & MySQL (Phạm Hữu Khang) 
4. Hướng dẫn thiết kế trang web tương tác bằng Javascript (Nguyễn 
Trường Sinh) 

File đính kèm:

  • pdfNhập môn PHP.pdf
Tài liệu liên quan