1. Trang chủ
  2. » Công Nghệ Thông Tin

Programming HandBook part 58 doc

6 130 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Programming Handbook Part 58 Doc
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Tài liệu hướng dẫn
Năm xuất bản 2025
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 6
Dung lượng 236,72 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bước 2: Bạn chọn phần "I accept the terms in the license agreement" và nhấn Next, tiếp tục nhấn Next một lần nữa để sang bước 3.. Bước 5: Bạn chọn thư mục để cài Apache nhấn nút Change,

Trang 1

Bước 2:

Bạn chọn phần "I accept the terms in the license agreement" và nhấn Next, tiếp tục nhấn Next một lần nữa để sang bước 3

Bước 3:

bạn điền localhost vào phần Networl Domain và Server Name, điền

admin@localhost vào phần Aministrator's Email Address Click Next để sang bước tiếp theo

Bước 4:

Bạn chọn Custom và nhấn Next để tiếp tục

Bước 5:

Bạn chọn thư mục để cài Apache (nhấn nút Change), mặc định là C:\Program Files\Apache Group Nhấn Next, rồi nhấn Next lần nữa để sang bước 6

Bước 6:

Trang 2

Apache sẽ bắt đầu cài đặt các file vào đĩa cứng của bạn Bạn chỉ có việc là ngồi chờ

Bước 7:

Sau khi Apache đã cài đặt xong, bạn khởi động lại máy trước khi tiếp tục

Chạy thử Apache: Sau khi khởi động, bạn chạy Apache từ Star Menu: Sau đó bạn

khởi động IE và truy cập vào địa chỉ http://localhost, nếu bạn nhận được màn hình đón chào của Apache thì có nghĩa là bạn đã cài đặt t hành công Apache

Cấu hình Apache

Mặc định Apache sẽ đặt trang web của bạn ở C:\Program Files\Apache

Group\htdocs, tuy nhiên bạn có thể cấu hình để sử dụng thư mục khác (tôi dùng thư mục C:\www)

Trước tiên bạn tạo thư mục www trong đĩa C: và tạo thêm thư mục cgi-bin ở trong thư mục www vừa tạo

Tiếp theo, bạn mở file C:\Program Files\Apache Group\conf\httpd.conf bằng

một chương trình text editor nào đó

Bạn tìm đến dòng bắt đầu bằng DocumentRoot và sửa lại giá trị của

DocumentRoot từ C:\Program Files\Apache Group\htdocs thành C:\www, và tìm sửa dòng <Directory "C:/Program Files/Apache Group/htdocs"> thành

<Directory "C:/www">

Tiếp them bạn tìm dòng bắt đầu bằng ScriptAlias /cgi-bin/ và sửa lại giá trị của cgi-bin từ C:/Program Files/Apache Group/htdocs/cgi-bin thành c:/www/cgi-bin

Và cuối cùng bạn tìm dòng <Directory "C:/Program Files/Apache

Trang 3

Group/htdocs/cgi-bin"> và sửa lại thành <Directory "C:/www/cgi-bin"> Bạn

sẽ đặt các file Perl-CGI của bạn ở trong thư mục này

Lưu file httpd.conf, thoát và khởi động lại Apache

Nguồn: DDTH

indentical(UDS)

Tương tác với server bằng form

Việc tương tác với server bằng form có lẽ là một trong những công việc mà các bạn rất hay gặp khi lập trình web Hãy nghĩ đơn giản, dưới góc độ một user trong UDS, bạn đã phải tương tác với bao nhiêu là form: form register, form login, form post bài nhanh - post bài advance, form để report cho mod Nhiều quá hóa chóng mặt

Các form đó đều có điểm chung: Đều được viết bằng HTML Hãy cùng nhắc lại đôi chút về cách tạo form với HTML:

Trước hết, bạn hãy dành 30 giây trong quỹ thời gian "ít ỏi" của mình để ngẫm lại: HTML có cấu trúc như thế nào?

Nói một cách ngắn gọn, một file HTML có cấu tạo như sau:

HTML Code:

<html>

<head>

<title><! Tiêu đề ></title>

</head>

<body>

<! Nội dung >

</body>

</html>

Form trong HTML được đặt trong phần <body></body> Ví dụ như sau:

HTML Code:

<form action="process.php" method="GET">

Tên: <input type="text" name="name" /><br />

Tuổi: <input type="text" name="age" /><br />

Trang 4

<input type="submit" value="Submit!" />

</form>

Đoạn code HTML trên có tác dụng gì? Rất đơn giản, nó giúp tạo ra 1 form với 2 ô

để nhập dữ liệu: Tên và tuổi Kèm theo đó là 1 nút lệnh mang chữ Submit Rất giản

dị và ko có gì khó hiểu ở đây cả

À, có 1 điều này cần giải thích: Ở dòng đầu tiên của đoạn code, thẻ form có 2 thuộc tính: action và method Hai thuộc tính này có mục đích gì?

1 action="process.php" nghĩa là sau khi bấm submit, dữ liệu sẽ được chuyển qua file process.php nằm cùng thư mục với file HTML này

2 method="GET" nghĩa là phương thức truyền dữ liệu sẽ là GET

Vậy, bạn đã biết dữ liệu sẽ được chuyển qua file process.php, mà hiển nhiên file process.php này chưa tồn tại, nên một điều rất tự nhiên là ta sẽ tạo file process.php với nội dung sau:

PHP Code:

<?php

$name = $_GET["name"];

$age = $_GET["age"];

echo "Tên bạn: $name";

echo "Tuổi của bạn: $age";

?>

Hai dòng cuối của ví dụ trên có lẽ chẳng có j` để bàn Chỉ đơn giản là echo 2 biến

$name và $age ra màn hình Vấn đề nằm trong 2 dòng đầu

Ta lấy dòng thứ 1 để mổ xẻ: $name = $_GET["name"]; Ở đây ai cũng biết giá trị của $name được gán từ $_GET["name"] Vậy là chỉ còn duy nhất 1 điều cần thắc mắc: $_GET là gì?

$_GET là mảng để chứa các giá trị được chuyển từ form sang Ở đây $_GET gồm

2 phần tử: $_GET["name"] và $_GET["age"]

Mọi vấn đề đến đây được giải quyết

Trang 5

Giờ ta thử xét form ở Ví dụ ban đầu Bạn hãy làm một phép thay đổi nhỏ: Đổi method="GET" bằng method="POST"

Khi đó hiển nhiên process.php sẽ ko hoạt động

Nếu suy diễn một cách educated, bạn sẽ ngay lập tức sửa sai bằng cách thay đổi

$_GET bằng $_POST Kết quả? Đúng goài

Đến đây ta có thể sung sướng rút ra kết luận: Để nhận biến từ form chuyển sang,

có thể sử dụng mảng $_GET hoặc $_POST, tùy vào phương thức truyền dữ liệu của form

Bài học kết thúc ở đây được rồi nhỉ?

Chưa đâu bạn ạ Còn một điều chưa nói đến: Sự khác nhau giữa $_GET và

$_POST là j`? Hay đúng hơn, sự khác nhau giữ method GET và POST là gì?

Nói đến GET và POST, trước hết ta sẽ nói đến HTTP Request

Một HTTP Request được gửi tới server có định dạng như sau:

Code:

<request-line>

<headers>

<blank line>

[<request-body>]

Một HTTP Request được gửi tới trang web www.abc.com từ trình duyệt Firefox sẽ tương tự như ví dụ sau:

Code:

GET / HTTP/1.1

Host: www.abc.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6)

Gecko/20050225 Firefox/1.0.1

Connection: Keep-Alive

Tương tự, một Request gửi đến trang www.abc.com/def sẽ có dạng như sau:

Ngày đăng: 03/07/2014, 09:20