Ngôn ngữ lập trinh PHP

Một phần của tài liệu Báo cáo Đồ Án tốt nghiệp Đề tài thiết kế hệ thống giám sát và Điều khiển vườn thông minh (Trang 29 - 38)

CHƯƠNG 4 TỔNG QUAN VỀ WEBSITE

4.4 Xây dựng giao diện người dung ( Front-end)

4.4.4 Ngôn ngữ lập trinh PHP

PHP Hypertext Preprocessor (PHP) là một ngôn ngữ lập trình cho phép các lập trình viên web tạo các nội dung động mà tương tác với Database. Về cơ bản, PHP được sử dụng để phát triển các ứng dụng phần mềm trên web.

PHP khởi đầu như là một dự án mã nguồn mở nhỏ, nhưng theo đà phát triển, ngày càng nhiều người thấy rằng nó càng ngày càng hữu ích. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là "Personal Home Page Tools". Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới Database và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó, đồng thời cải tiến mã nguồn.

PHP là ngôn ngữ lập trình kịch bản viết cho máy chủ mà được nhúng trong HTML.

Nó được sử dụng để quản lý nội dụng động, Database, Session tracking, …

Nó được tích hợp với một số Database thông dụng như MySQL, PostgreSQL, Oracle, Sybase, Informix, và Microsoft SQL Server.

PHP thực thi rất tuyệt vời, đặc biệt khi được biên dịch như là một Apache Module trên Unix side. MySQL Server, khi được khởi động, thực thi các truy vấn phức tạp với các tập hợp kết quả khổng lồ trong thời gian Record-setting.

PHP hỗ trợ một số lượng rộng rãi các giao thức lớn như POP3, IMAP, và LDAP.

PHP4 bổ sung sự hỗ trợ cho Java và các cấu trúc đối tượng phân phối (COM và CORBA).

Cú pháp PHP là giống C.

Đặc trưng của PHP

5 đặc trưng quan trọng làm PHP trở thành ngôn ngữ khá tiện lợi:

Đơn giản hóa

Hiệu quả

Bảo mật cao

Linh động

Thân thiện

Khái niệm Web tạo nội dung động trong PHP

PHP có thể cung cấp các nội dung động tùy theo kiểu trình duyệt, cách sinh số ngẫu nhiên hoặc user input. Nó cũng minh họa cách Client có thể được redirect.

Nhận diện trình duyệt và nền tảng trong PHP

PHP tạo một số biến môi trường hữu ích, mà có thể được tìm thấy trong phpinfo.php, mà được sử dụng để thiết lập môi trường PHP.

Một trong những biến môi trường được thiết lập bởi PHP là HTTP_USER_AGENT mà nhận diện trình duyệt và hệ điều hành của người dùng.

PHP cung cấp hàm getenv() để truy cập giá trị của tất cả biến môi trường. Thông tin được chứa trong biến môi trường HTTP_USER_AGENT có thể được sử dụng để tạo nội dung động thích hợp với trình duyệt.

Sử dụng HTML Form trong PHP

Điều quan trọng nhất cần chú ý khi làm việc với HTML Form và PHP là bất kỳ phần tử form nào trong một trang HTML sẽ là tự động có sẵn cho PHP script của bạn.

Bạn thử ví dụ sau bằng việc đặt source code trong test.php.

<?php

if( $_POST["name"] || $_POST["age"] ) {

if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) {

die ("Biến name không hợp lệ - nên là các chữ cái");

}

echo "Chào mừng ". $_POST['name']. "<br />";

echo "Bạn ". $_POST['age']. " tuổi.";

exit();

}

?>

<html>

<body>

<form action="<?php $_PHP_SELF ?>" method="POST">

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

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

<input type="submit" />

</form>

</body>

</html>

PHP code trên sẽ cho kết quả:

 Biến mặc định trong PHP là $_PHP_SELF được sử dụng cho tên PHP script và khi bạn nhấn vào nút Submit, thì PHP script giống như vậy sẽ được gọi và trả về kết quả:

 Phương thức POST được sử dụng để gửi dữ liệu người dùng tới Server script. Có hai phương thức để gửi dữ liệu tới Server script,Phương thức GET & POST trong PHP Phương thức GET & POST trong PHP

Có 2 cách để Client có thể gửi thông tin cho Web Server:

 Phương thức GET

 Phương thức POST

Trước khi trình duyệt gửi thông tin, nó mã hóa nó bởi sử dụng một giản đồ gọi là URL encoding. Trong giản đồ này, các cặp name/value được kết hợp với kí hiệu = và các cặp khác nhau được phân tách nhau bởi dấu &.

name1=value1&name2=value2&name3=value3

Các khoảng trống được xóa bỏ, thay thế bằng kí tự + và bất kì kí tự không phải dạng số và chữ được thay thế bằng giá trị hexa. Sau khi thông tin được mã hóa, nó sẽ được gửi lên Server.

Phương thức GET trong PHP

Phương thức GET gửi thông tin người dùng đã được mã hóa được phụ thêm vào yêu cầu trang. Trang và thông tin mã hóa được phân tách nhau bởi kí tự hỏi chấm (?).

http://www.test.com/index.htm?name1=value1&name2=value2

 Phương thức GET tạo ra một chuỗi kí tự dài xuất hiện trong Server log của bạn, trong Location: box của trình duyệt.

 Phương thức GET được giới hạn gửi tối đa chỉ 1024 ký tự.

 Không bao giờ sử dụng phương thức GET nếu gửi password hoặc thông tin nhay cảm lên Server.

 GET không thể gửi dữ liệu nhị phân, ví dụ như hình ảnh hoặc tài liệu word lên Server.

 Dữ liệu gửi bởi phương thức GET có thể được truy cập bằng cách sử dụng biến môi trường QUERY_STRING.

 PHP cung cấp mảng liên hợp $_GET để truy cập tất cả các thông tin đã được gửi bởi phương thức GET.

Bạn thử ví dụ sau bằng việc đặt source code sau đây vào test.php script:

<?php

if( $_GET["name"] || $_GET["age"] ) {

echo "Chào mừng ". $_GET['name']. "<br />";

echo "Bạn ". $_GET['age']. " tuổi.";

exit();

}

?>

<html>

<body>

<form action="<?php $_PHP_SELF ?>" method="GET">

Họ tên: <input type="text" name="name" />

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

<input type="submit" />

</form>

</body>

</html>

PHP code trên sẽ cho kết quả:

Phương thức POST trong PHP

Phương thức POST truyền thông tin thông qua HTTP header. Thông tin này được mã hóa như mô tả trong trường hợp của phương thức GET và đặt vào một header được gọi là QUERY_STRING.

 Phương thức POST không có bất kì hạn chế nào về kích thước dữ liệu sẽ gửi.

 Phương thức POST có thể sử dụng để gửi ASCII cũng như dữ liệu nhị phân.

 Dữ liệu gửi bởi phương thức POST thông qua HTTP header, vì vậy việc bảo mật phụ thuộc vào giao thức HTTP. Bằng việc sử dụng Secure HTTP, bạn có thể chắc chắn rằng thông tin của mình là an toàn.

 PHP cung cấp mảng liên hợp $_POST để truy cập tất cả các thông tin được gửi bằng phương thức POST.

Bạn thử ví dụ sau bằng việc đặt source code vào test.php script:

<?php

if( $_POST["name"] || $_POST["age"] ) {

if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) {

die ("Biến name không hợp lệ - nên là các chữ cái");

}

echo "Chào mừng ". $_POST['name']. "<br />";

echo "Bạn ". $_POST['age']. " tuổi.";

exit();

}

?>

<html>

<body>

<form action="<?php $_PHP_SELF ?>" method="POST">

Họ tên: <input type="text" name="name" />

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

<input type="submit" />

</form>

</body>

</html>

PHP code trên sẽ cho kết quả:

Biến $_REQUEST trong PHP

Biến $_REQUEST trong PHP chứa nội dung của cả $_GET, $_POST, và $_COOKIE.

Chúng ta sẽ bàn về biến $_COOKIE khi giải thích về Cookie trong PHP.

Biến $_REQUEST trong PHP có thể được sử dụng để lấy kết quả từ form data được gửi bởi cả 2 phương thức GET và POST.

Bạn thử ví dụ sau bằng việc đặt source code vào test.php script:

<?php

if( $_REQUEST["name"] || $_REQUEST["age"] ) {

echo "Chào mừng ". $_REQUEST['name']. "<br />";

echo "Bạn ". $_REQUEST['age']. " tuổi.";

exit();

}

?>

<html>

<body>

<form action="<?php $_PHP_SELF ?>" method="POST">

Họ tên: <input type="text" name="name" />

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

<input type="submit" />

</form>

</body>

</html>

Ở đây, biến $_PHP_SELF chứa tên của chính script đó, script mà nó đang được gọi.

PHP code trên sẽ cho kết quả:

File & I/O trong PHP Mở và đóng file trong PHP

Hàm fopen() của PHP được sử dụng để mở một file. Nó yêu cầu 2 tham số, tham số thứ nhất là tên file, và tham số thứ 2 là mode, tức là chế độ để hoạt động.

Mode của file có thể được xác định như một trong 6 tùy chọn trong bảng sau.

Mode Mục đích

r Mở file và chỉ đọc.

Di chuyển con trỏ file về đầu file r+ Mở file cho việc đọc và ghi.

Di chuyển con trỏ về đầu file w Mở file và chỉ ghi.

Di chuyển con trỏ về đầu file và cắt bỏ file về độ dài là 0.

Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file.

w+ Mở file cho việc đọc và ghi.

Di chuyển con trỏ về đầu file và cắt bỏ file có độ dài là 0.

Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file.

a Mở file với mục đích chỉ ghi.

Di chuyển con trỏ về cuối file

Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file.

a+ Mở file với mục đích đọc và ghi.

Di chuyển con trỏ về cuối file

Nếu các file không tồn tại, nó sẽ cố gắng tạo ra một file.

Ghi file trong PHP

Một file mới có thể được ghi hoặc text có thể được phụ thêm vào một file đang tồn tại bằng cách sử dụng hàm fwrite() trong PHP. Hàm này yêu cầu 2 tham số: con trỏ file và chuỗi dữ liệu để được ghi. Một tham số integer thứ 3 tùy ý có thể được thêm vào để xác định độ dài của dữ liệu sẽ ghi. Nếu tham số thứ 3 được thêm vào, việc ghi sẽ dừng lại sau khi đã được đạt tới độ dài đã xác định.

Ví dụ sau tạo một text file mới, và ghi một đoạn text ngắn vào phần đầu của nó. Sau khi đóng file này, sự tồn tại của file này được xác nhận bởi hàm file_exist(), mà sẽ nhận tên file như một tham số.

<?php

$filename = "tmp.txt";

$file = fopen( $filename, "w" );

if( $file == false ) {

echo ( "Xảy ra lỗi khi mở file" );

exit();

}

fwrite( $file, "Ví dụ ghi file trong PHP.\n" );

fclose( $file );

?>

<html>

<head>

<title>Ghi file trong PHP</title>

</head>

<body>

<?php

$filename = "tmp.txt";

$file = fopen( $filename, "r" );

if( $file == false ) {

echo ( "Xảy ra lỗi khi mở file" );

exit();

}

$filesize = filesize( $filename );

$filetext = fread( $file, $filesize );

fclose( $file );

echo ( "Kích cỡ của file là: $filesize byte <br>" );

echo("Tên file là: $filename <br>");

echo ( "Dưới đây là nội dung của file: <br>" );

echo ( "$filetext" );

?>

</body>

</html>

Một phần của tài liệu Báo cáo Đồ Án tốt nghiệp Đề tài thiết kế hệ thống giám sát và Điều khiển vườn thông minh (Trang 29 - 38)

Tải bản đầy đủ (DOCX)

(43 trang)
w