Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của trang web thương mại.. 2:Danh mục _sản phẩmid,madm,danhmuc,ghichu 3:tin tức id,tieude
Trang 2BỘ CÔNG THƯƠNG
TRƯỜNG CAO ĐẲNG CÔNG THƯƠNG
KHOA CÔNG NGHỆ THÔNG TIN
→♥←
BÁO CÁO ĐỒ ÁN MÔN HỌC PHP
Đề tài:
THIẾT KẾ WEBSITE XÂY DƯNG WESITE BÁN GIÀY DÉP
GVDH: Hồ Diên Lợi SVTH: 1
Lớp: CĐ Tin 32A
Khoá: 2008-2011Tp.HCM, năm 20111 2007
Trang 3NHẬN XÉT CỦA GIÁO VIÊN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
………
Trang 4LỜI NÓI ĐẦU
0 0 0
Ngày nay, công nghệ thông tin đã có những bước phát triển mạnh mẽ theo cả chiều rộng
và sâu Máy tính điện tử không còn là một thứ phương tiện quý hiếm mà đang ngày càng trở thành một công cụ làm việc và giải trí thông dụng của con người, không chỉ ở công sở mà còn ngay cả trong gia đình
Đứng trước vai trò của thông tin hoạt động cạnh tranh gay gắt, các tổ chức và các doanh nghiệp đều tìm mọi biện pháp để xây dựng hoàn thiện hệ thống thông tin của mình nhằm tin học hóa các hoạt động tác nghiệp của đơn vị
Hiện nay các công ty tin học hàng đầu thế giới không ngừng đầu tư và cải thiện các giải pháp cũng như các sản phẩm nhằm cho phép tiến hành quảng bá thương hiệu trên Internet Thông qua các sản phẩm và công nghệ này, chúng ta dễ dàng nhận ra tầm quan trọng và tính tất yếu của trang web thương mại Với những thao tác đơn giản trên máy có nối mạng Internet bạn sẽ có tận tay những thong tin cần thiết mà không phải mất nhiều thời gian Bạn chỉ cần vào các trang web của doanh nghiệp, làm theo hướng dẫn và click vào những gì bạn cần Các
thông tin về doanh nghiệp thể hiện đầy đủ trên máy tính của bạn
Trong thời đại ngày nay, đất nước ta đang hội nhập vào WTO c ng với sự phát triển nhanh chóng của công nghệ thông tin đư c áp dụng trên mọi l nh vực của cuộc sống như kinh
tế, chính trị, v n hóa – xã hội,… tất cả đều cần có công nghệ thông tin Như hiện nay chúng ta
đã biết lập trình và thiết kế Website có thể đư c coi là ngành hot mà hiện nay chúng ta đang rất quan tâm Chính vì thế em đã quyết định lựa chọn đề tài Xây Dựng Và Thiết Kế
Website Bán Giày Dép nhằm đáp ứng nhu cầu của khách hàng Hiện nay nhu cầu sử dụng Internet ngày càng nhiều và các hình thức kinh doanh trên mạng ngày càng đa dạng và phong phú rất đư c nhiều người sử dụng và ưa chuộng Cho nên khi xây dựng trang web này trên hệ thống trực tuyến sẽ giúp cho khách hàng thuận l i trong việc mua các sản phẩm của công ty
mà không cần vất vả đến tận nơi công ty mua hàng như lúc trước
Trang 52:Danh mục _sản phẩm(id,madm,danhmuc,ghichu)
3:tin tức
(id,tieude,tomtat,noidung,hinhanh,trangthai,danhmuc_tintuc,matintuc,ngaydang,ghichu,deleted)
4:Danh mục _tin tức(id,madm,danhmuc,isdelete)
5:Menu(id,key ,name,parent,page)
6:Login(id ,username,pass,uname,email,phone,address,utype,active,uskey)
7:(id,tm,ip)
8 Giỏ hang(id,hoten,diachi,dienthoai,content,ngay,ghichu)
I.2 Nội dung code để xây dƣng trang web
1:File Function.php:Chức năng :xây dựng các hàm trong bài
Dòng lệnh kêt nối data:tên data là ngochiep
<?php
class database
{
private $_host = "localhost";
private $_user = "root";
private $_pwd = "";
private $_db = "vthiep_db";
private $_status = true;
private $_conn = null;
function construct($in_host, $in_user, $in_pwd, $in_db, $get_default){
Trang 6Hàm xuất ra trang chủ( public function get_products())
Hàm xuất ra chi tiết sản phẩm(function get_product_detail($in_pk))
Hàm xuất ra danh sách sản phẩm(function get_product_list($in_pk))
Hàm xuất ra danh sách tin tức(function get_news_list($in_pk))
Hàm xuất ra chi tiết tin tức(function get_news_detail($in_pk))
Hàm login tới người sử dụng user ,pass
function get_user_login($in_user, $in_pwd)
{
if($this->_status) {
Trang 7$return[] = $row;
} return $return;
2:FILE DATA_SITE.PHP
require_once("admin/data.php"); gọi tới hàm admin/data.php hay kết nối tới hàm
admin/data.php
file này có ý ngh a là gọi các hàm trong admin/data.php để kết nối tới database
2.1: HàmTrang chủ public function get_product_index
Ý tưởng Select ra danhmuc_sanpham trong mysql, lấy tất cả cá dòng trong myspl của danh mục sản phẩm
Select bảng Sản Phẩm,tóm tắt, nội dung,hình ảnh của Sản Phẩm đó và định dang chúng bằng thẻ div và echo các thẻ
2.2:Hàm chi tiết sản phẩm public function product_detail($in_pk)
Ý tưởng select ra bảng sản phẩm gốm có tên sản phẩm , tóm tắt , nội dung , hình ảnh điều kiện where là chon masp và định dạng chúng bằng thẻ div và echo các thẻ
2.3:Hàm lấy danh sách sản phẩm theo danh mục function
get_product_list($in_pk)
Ý tưởng:select ra danhmuc_sanpham điều kiện là madm =$in_pk
Lấy tất cả các dòng trong mysql của danhmuc _sp ,sanpham và định dạng chúng bằng thẻ div
2.4:Hàm danh sách tin tức function get_news_list()
Ý tưởng là select ra danhmuc_tintuc , lấy tất cả các dòng trong msql của danhmuc_tintuc
Select tất cả các dòng của bảng tin tuc và định dạng chúng bằng thẻ div và echo các thẻ
2.5:Hàm chi tiết tin tức public function news_detail($in_pk){
Ý tưởng là select các dòng của bảng tin tức như tieude,noidung,tomtat,hinhanh,ngaydang
Và định dạng chúng bằng các thẻ div và echo chúng và echo các thẻ
2.6:Hàm link tới trang tin tức ,liên hệ,giới thiệu:Mã của trang tin
tức:KT4T3,Liên hệ:TK456,Gioi thiệu:I3490
public function get_other($in_page){
$title_page = array("TK456"=>"Liên hệ", "KT4T3"=>"Tin tức",
echo "<div class=\"rdata\">";
require_once($in_page.".php");
echo "</div>";
}
2.7: function finished_cart() Giỏ hàng
Khai báo biến họ tên ,địa chỉ, điện thoại, ngày –tháng –n m
Trang 8Lưu trữ giỏ hàng trong biến SESSION
2.8: function login :Hàm Login
Khái báo biến user,pass
Select bảng login lấy tất cả các dòng trong bảng login trong mysql,sử dụng biến SECTION để lưu trữ user login,name login,type login ,key login
public function login(){
$user = $_POST["user_name"];
$pwd = $_POST["pwd"];
$this->get_user_login($user, $pwd);
} function get_user_login($in_user, $in_pwd) {
function mysql_fetch_all($result) {
while($row = mysql_fetch_array($result)) {
$return[] = $row;
} return $return;
}
3.File Navbar.php:file tạo menu động
require_once("function.php");gọi tới hàm function để kết nối database
require_once("function.php");
Trang 9class menu
{
function get_menu() {
//$db = new database("localhost", "hiep", "vthiep", "vuthihiep", true);
$db = new database("localhost", "vthiep", "vthpwd", "vthiep_db", false);
$db->connect();
$q_menu = "select * from menu where parent = '0'";
$r_menu = mysql_query($q_menu);
$menu = $db->mysql_fetch_all($r_menu);
for($i=0; $i< count($menu); $i++){
echo "<div id=\"p_{$menu[$i][1]}\" class=\"iNavBar\"
onmouseover=\"show_div(this)\" onmouseout=\"hide_div(this)\">";
echo "<a href='{$menu[$i][4]}'>{$menu[$i][2]}</a>";
$q_subm = "select * from menu where parent = '{$menu[$i][1]}'";
$r_subm = mysql_query($q_subm);
if(mysql_num_rows($r_subm)>0){
$subm = $db->mysql_fetch_all($r_subm);
if(count($subm)>0) {
echo "<div id=\"sub_{$menu[$i][1]}\"
<a href='{$subm[$s][4]}{$subm[$s][1]}'>".$subm[$s][2]."</a>
</li>";
} echo "</div>";
} }
echo "</div>";
} }
}
?>
Ý ngh a của file này là select bảng menu trong Database: $q_menu = "select * from menu
where parent = '0'";
Trang 10Xây dựng khung giao diện cho trang web
<div id="wrapper">: Bao bọc khung trang web
<div id="head">:Phần đầu của trang web
<div id="logo" onclick="route('./');"></div>:logo của trang web
<div id="navbar">thẻ navbar
<div id="bodyp"> thẻ để định dạng phần giữa của trang web
<div id="bp-top"> thẻ đinh dang phần trên của body
<div id="img_slide"> thẻ định dạng hình
<div id="lastest_new"> thẻ định dạng tin mới nhất
< require_once("lastest_new.php"); gọi hàm kết nối từ trang index tới lastest_new <div id="bp-content"> Thẻ định dạng nội dung
<div id="content-left"> Thẻ đinh dạng nội dung bên trái trang web
<div id="menu-right"> Thẻ định dạng menu bên trái của trang web
$p->product_list($pk);
} // nếu trang sản phẩm bằng pd thì link tới biến $pk ngƣ c lại danh sách sản phẩm bằng
pl thì link tới biến $pk
else if($page == "nl"){
$p->news_list($pk);
} else if($page == "nd"){
$p->news_detail($pk);
Trang 11} // nếu trang danh sách tin tức =nl thì link tới biến $pk ngư c lại bằng biến nd thì link tới biến $pk
else if( $page == "login"){
$f = $p->login();
} else if( $page == "logout"){
session_destroy();
header("location: /");
} // link tới trang login
<div id="menu-right"> thẻ định dạng menu bên phải
require_once("giohang.php"); // gọi tới file giỏ hàng.php trong file index
require_once("quangcao.php");// gọi tới file quảng cáo php trong file index
<div id="foot"> thẻ định dạng phần cuối của trang web
5 :File giỏ hàng.php :
Ý ngh a select ra sản phẩm ,số lư ng sản phẩm,đơn giá sản phẩm,và tổng số tiền thanh toán giá,tổng số lư ng mua
Ý tưởng :Select ra bảng sản phẩm trong table gồm ,id,masp,tensp,giasanpham
Đặt cái biến $_SESSION để lưu trữ nhưng người đã mua hàng vào trong giỏ hàng cho giá trị
là 1 dùng hàm count để đếm số lư ng trong giỏ hàng mỗi khi nhập vào mua hàng mỗi lần
nhập là t ng i+=1 và lưu trữ trong biến $_SESSION
6 :File Style
Ý ngh a :là đinh dạng các thẻ div trong các file php
I.3 :Trang Admintractor
1:File Data.php :Ý nghia file:
Kết nối dữ liệu trong phpmyadmin
2:File Lib.php:Ý ngh a của file
Xây dựng các hàm định dạng giao diện trong trang amin , chèn ckeditor
include(" /ckeditor/ckeditor.php") định dạng tiêu đề , nội dung ,cbo ,dòng ,uplate hình
3.File Content.php :Ý ngh a của file :
lý tin tức ,quản lý người dung
6:File style php :Định dạng các thẻ của các file trong trang admin
Trang 127:File page.php:Ý ngh a của file:require_once("menu.php");
require_once("menu.php"); kết nối tới file menu.php
Tạo link đ ng nhập , đ ng xuất ,admin ,website trên trang admin
mp: là Quản lý sản phẩm, trong mp có del.php,edit.php,có ins.php,view.php.Del là xóa sản phẩm,edit là sửa sản phẩm,view là hiển các là selecst ra các dòng trong bảng sản phẩm và định dạng chúng,ins là thêm sản phẩm ,edit là sửa sản phẩm
mn: là Quản lý tin tức, trong mp có del.php,edit.php,có ins.php,view.php.Del là xóa tin tức phẩm,edit là sửa tin tức view là hiển các là selecst ra các dòng trong bảng tin tức và định dạng chúng,ins là thêm tin tức ,edit là sửa tin tức
mu: là Quản lý người d ng, trong mp có del.php,edit.php,có ins.php,view.php.Del là xóa tin người d ng,edit là sửa người d ng view là hiển các là selecst ra các dòng trong bảng người
d ng và định dạng chúng,ins là thêm người d ng ,edit là sửa người d ng
Tài khoản người d ng: là user 1,user 2 ,admin
Pass:123
VẤN TRONG CỞ SỞ DỮ LIỆU VÀ NGÔN NGỮ LẬP
TRÌNH PHP
2.1:Giới thiệu:
CSDL là một phần quan trọng không thể thiếu đư c trong các ứng dụng web chuyên nghiệp MySQL từ lâu đã là hệ CSDL đư c d ng phổ biến nhất với PHP vì thính gọn nhẹ, nhanh, miễn phí và đư c PHP hỗ tr sẵn
Client
Server
Trang 13Database
2.2.MỘT SỐ CÂU LỆNH THAO TÁC VỚI CSDL:
Create:tạo CSDL,tạo bảng
Insert into:đƣ c d ng để chèn dòng mới vào bảng
Alter table:thêm hoặc xoá cột trong bảng
Delete:xoá các dòng ra khỏi bảng
Update:cập nhật / sửa đổi dữ liệu có trong bảng
…
2.3.Tạo CSDL:
Có 2 cách để tạo một CSDL là d ng giao diện đồ hoạ hoặc d ng dòng lệnh
:Giao diện đồ hoạ - trực tiếp:
B1:khởi động phpmyadmin
B2:Trong màn hình giao diện của phpmyadmin nhập tên csdl muốn tạo vào mục create new database và chọn các thông tin khác (nếu cần)
Trang 14B3: nhấn create để hoàn thành việc tạo csdl
:Dùng câu lệnh Create database:
Chúng ta có thể tạo mới một csdl bằng câu lệnh create database thông qua giao diện dòng lệnh
Password:xác định mật khẩu của người d ng
:Chọn CSDL:
Sau khi tạo đư c kết nối, chúng ta cần phải chọn một CSDL để làm việc
Để thực hiện công việc này, chúng ta sử dụng hàm mysql_select_db()
Kết quả trả về của hàm này là TRUE nếu chọn CSDL thành công, ngư c lại kết quả trả về là FALSE
Trang 15Để thực hiện việc truy vấn dữ liệu, ta d ng hàm mysql_query()
Hàm mysql_query() sẽ trả về kết quả của câu lệnh truy vấn nếu thực hiện thành công,ngư c lại trả về FALSE
Cú pháp:
Mysql_query(query, connection);
Trong đó:
Query:tham số bắt buộc, là câu lệnh truy vấn đư c gởi đi
Connection:tham số tuỳ chọn, xác định kết nối
Một số hàm truy vấn CSDL MYSQL thông dụng:
mysql_connec(): tạo kết nối CSDL mysql_select_db():chọn CSDL đẻ làm việc mysql_close(): đóng kết nối CSDL
mysql_create_db(): tạo bảng cho CSDL mysql_drop_db():xoá CSDL
mysql_free_result(): giải phóng v ng nhớ mysql_affected_rows(): lấy số dòng bị ảnh hưởng bởi câu lệnh SQL trước đó
mysql_query(): gửi câu truy vấn CSDL mysql_num_rows(): lấy về số dòng trong kết quả truy vấn mysql_num_fileds(): lấy về số cột
mysql_fetch_assoc(): trả về một dòng kết quả như một mảng liên kết kề
<?php
Echo chao thay co
Trang 16?>
2.8 Khoảng trắng trong PHP:
Thẻ <h1> nội dung </h1>
2.9 Ghi chú:
/* nội dung*/:trên nhiều dòng
# nội dung:nội dung chỉ nằm trên một dòng // nội dung:nội dung chỉ nằm trên một dòng
2.10 Gọi hàm:
Ví dụ:Gọi hàm date()
<? Php echo date( H:I j S F ); ?>
2.11 Truy cập biến Form:
Để lấy dữ liệu của người d ng nhập ,ta thường sử dụng Form trong trang web nhằm rằng buộc tất cả thẻ input,select,textarea…
2.12 Biến form:
Sử dụng dấu $ trước biến
Sử dụng mảng $HTTP_POST_VARS và mảng $HTTP_GET_VARS
2.13Ghép nối chuỗi:
D ng dấu Để nối chuỗi
2.14 Gán giá trị cho biến :
$ Biến =hằng số;
2.15 các kiểu dữ liệu trong PHP :
PHP có 3 kiểu dữ liệu cơ bản:integer, double và string Ngoài ra còn một
số kiểu dữ liệu khác đư c xây dựng dựa trên các kiểu dữ liệu cơ bản trên như:mảng, object Tất cả các biến đều đư c chỉ định kiểu dữ liệu và giá trị của chúng có thể
bị thay đổi trong quá trình sử dụng
Kiểu Integer sử dụng 4 byte của bộ nhớ.Đây là kiểu giá trị nguyên(không phải là số thực) và có giá trị nằm trong khoảng -2 tỷ->2 tỷ
Kiểu Double là kiểu dữ liệu số thực, cho phép chứa các số thực
Kiểu String đư c sử dụng để chứa các dữ liệu như là các ký tự v n bản,
ký tự đặc biệt và các chữ số Dữ liệu kiểu string đư c đặt trong cặp dấu ngoặc
kép( ) chỉ định một xâu ( hay còn gọi là chuỗi ký tự )
Ví dụ:
2:là kiểu integer
Trang 172.0:Là kiểu double
2 gio :kiểu string
2.16 Định nghĩa hằng:
Hàm define() đƣ c sử dụng để tạo một hằng số:
Hàm này có cấu trúc sau:
define( tên_hằng , giá trị của hằng );
Ví dụ:
define( pi ,3.1416159);//định ngh a hằng pi=3.1416159 Sau khi hàm đƣ c tạo ra, ta có thể sử dụng chúng thay cho giá trị của chúng:
echo( so pi= pi);
2.17 Toán tử trong PHP:
Giống nhƣ trong ngôn ngữ C,C++ cũng bao gồm các phép toán:+.-,*,/,%
2.18 Phát biểu có điều khiển:
2.19 Các câu lệnh rẽ nhánh:
Trong PHP có 2 dạng rẽ nhánh:rẽ 2 nhánh và rẽ nhiều nhánh
Lệnh rẽ nhánh là một trong những câu lệnh quan trọng nhất của tất cả các ngôn ngữ lập trình Nó cho phép bạn thực thi một đoạn mã khi mà điều kiện chỉ định là đúng
Trong PHP,lệnh rẽ nhánh có 2 dạng sau:
Rẽ 2 nhánh:
if(điều kiện) {
Công việc cần làm }
Ví dụ:
if($name== sinh ) {
echo( hello,my boss );
} Nếu khối lệnh cần làm chỉ bao gồm duy nhất một dòng lệnh, ta có thể bỏ cặp dấu ngoặc{} Nhƣng nếu nhiều hơn một dòng lệnh, ta phải đƣa chúng vào trong cặp dấu {}
Đoạn lệnh trên sẽ kiểm tra nếu điều kiện biến $name= sinh thì nó sẽ hiển thị lời chào Còn nếu không thì không thực hiện gì cả
Điều kiện đặt vào có thể là đúng, có thể là sai, có thể là tổng h p của nhiều điều kiện
Ví dụ:
if( false )
echo( khong co gi ca );
Trang 18if(($name== sinh )&&($pass== test ))
echo($name đã nhập đúng password );
Đoạn mã lệnh trên có thểviết tương đương với:
if ($name== sinh ) {
if($pass== test ) echo($name đã nhập đúng password );
} Trong một câu lệnh chúng ta có thể chèn nhiều đoạn lệnh khác nhau, người ta gọi đó là cấu trúc khối, tức là trong một khối lệnh , có thể chứa nhiều khối lệnh con khác Chúng ta có thể sử dụng các toán tử &&, || hay xor để kết nối các điều kiện khác nhau
Câu lệnh đầy đủ:
if (điều kiện) {
Công việc 1;
} else {
Công việc 2;
} Nếu điều kiện kiểm tra trả về false (sai), PHP cho phép chúng ta chỉ định thực thi một khối mã lệnh khác bằng từ khoá else
Ví dụ:
if (($name== sinh )&&($pass== test )) {
echo( hello ); } else
{
echo( khong co gi ca );
} Lệnh rẽ nhiều nhánh:
Với câu lệnh if, PHP cho phép chúng ta rẽ nhiều nhánh thông qua từ khoá elseif:
if (điều kiện) {
Đoạn_lệnh_1;
} elseif(điều kiện 2) {
Đoạn_lệnh_2;
}
Trang 19… elseif(điều kiện n) {
a) vòng lặp while:
vòng lặp while là một dạng vòng lặp đơn giản nhất, cấu trúc của nó gần giống nhƣ lệnh if:
while(điều kiện) {
Khối câu lệnh cần lặp }
Nếu giá trị của biểu thức điều kiện là false, đoạn mã trong cặp dấu ngoặc{đoạn mã cần lặp} sẽ đƣ c bỏ qua và nhảy đến đoạn mã sau vòng lặp Nếu giá trị của nó là true, đoạn mã trong cặp dấu ngoặc sẽ đƣ c thực thi Khi bắt gặp dấu ngoặc } , điều kiện kiểm tra sẽ đƣ c tính toán lại, và nếu giá trị vẫn là true, đoạn mã trong ngoặc lại tiếp tục đƣ c thực thi Chú ý rằng điều kiện lặp chỉ đƣ c tính toán tại thời điểm bắt đầu lặp.Vì vậy,d điều kiện lặp có bị thây đổi trong quá trình thực thi đoạn lện trong cặp dấu {} thì đoạn lệnh đó vẫn
đƣ c tiếp tục thực hiện cho đến hết Muốn d ng lại ở một vị trí xác định nào đó trong khối lệnh, chúng ta sử dụng lệnh break
Trang 20Vòng lặp này giống nhƣ vòng lặp while, nhƣng thay vì kiểm tra điều kiện vào lúc đầu của đoạn lệnh cần lặp, thì nó lại kiểm tra giá trị điều kiện vào cuối vòng lặp Điều này có ngh a là nó luôn thực hiện đoạn lệnh cần lặp ít nhất một lần
Cấu trúc của nó nhƣ sau:
do {
Khối câu lệnh cần lặp }while(điều kiện);
Ví dụ:
for($i=1;$i<10;$i++) {
echo("gia tri cua bien $i la:".$i);
} Một biến dạng khác của vòng lập for, gần giống nhƣ lệnh rẽ nhánh if và while:
for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3) {//khoi lenh}
endfor;
ví dụ:
<?php for($i=1;$i<=10;i++)
?>
<tr><td><input type="text"></td></tr>
<?php