Programming HandBook part 71

Chia sẻ: Dương Tùng Lâm | Ngày: | Loại File: PDF | Số trang:5

0
24
lượt xem
4
download

Programming HandBook part 71

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'programming handbook part 71', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Programming HandBook part 71

  1. Giá trị của hiện tại của Session được gán trong file a.php: username = time = Lưu 2 đoạn mã trên vào 2 file a.php và b.php. Đầu tiên, dùng browser truy cập vào file a.php bạn sẽ thấy 1 màn hình tương tự như sau: Quote: Giá trị của Session đã được gán: username = guest time = 1151911963 Click vào đây để kiểm tra. Click vào link "vào đây" để truy cập qua file b.php bạn sẽ thấy 1 màn hình tương tự như sau: Quote: Giá trị của hiện tại của Session được gán trong file a.php: username = guest time = 1151911963 Lấy session ID: trong nhiều trường hợp, bạn cần lấy giá trị của session ID (để đếm số lượng session đã được tạo chẳng hạn), PHP cung cấp cho ta hàm session_id() để lấy giá trị hiện tại của session ID. Lưu ý: hàm session_id() phải được gọi sau hàm session_start(). Ví dụ: PHP Code: //khời tạo session session_start(); //lấy sesion ID $id = session_id(); echo "Session ID = ".$id;
  2. MỘT SỐ LƯU Ý KHI SỬ DỤNG COOKIE VÀ SESSION * Các lệnh gán giá trị cho Cookie và Session phải nên được gọi trước khi bất cứ dữ liệu nào được xuất ra browser. Thậm chí 1 ký tự trắng ở đầu chương trình (có ký tự trắng trước
  3. Có một sự khác biệt trong cách quản lý file và thư mục giữa các hệ thống Unix và Windows. Ví dụ trong 1 hệ thống Unix, thì đường dẫn đến website của bạn có thể là /home/httpd/customerwikiweb/wwwưp nhưng với hệ thống Windows thì lại là D:\WebSites\CustomerWiki\DocumentRoot. Điều này sẽ gây ra chút khó khăn khi bạn muôn viết code để xử lý dấu / hoặc \ và lo lắng về tên của ổ đĩa May mắn thay, thông thường dữ liệu chúng ta lấy vào từ database còn các file và thư mục thì cũng không quá xa với nơi đặt file PHP. Thêm nữa, hầu hết các hàm về file và thư mục trong Windows sẽ tự hiểu / và \. Chính vì vậy thay vì dùng các đường dẫn tuyệt đối, chúng ta chỉ cần sử dụng các đường dẫn tương đối và quên cấu trúc thư mục trên nó. Các biến của server Chìa khóa để ta hiểu thêm về server của mình là mảng "siêu" toàn cục $_SERVER đã giới thiệu từ trước. Có rất nhiều phần tử trong mảng này, ta sẽ tìm hiểu về 1 vài phần tử thường được sử dụng PHP_SELF Giả sử người sử dụng truy cập vào http://www.domain.com/php/test.php thì $_SERVER["PHP_SELF"] sẽ trả về kết quả là /php/test.php Chú ý: nếu truy xuất giá trị này từ trong đoạn mã đã được include bởi 1 đoạn mã khác thì giá trị thu được sẽ là của đoạn mã đã thực hiện include SERVER_NAME Phần tử này sẽ trả lại tên của server mà không có phần http:// ví dụ như www.domain.com. SERVER_SOFTWARE Cái tên nói lên tất cả! Khi được gọi, phần tử $_SERVER["SERVER_SOFTWARE"] sẽ trả về tên của phần mềm mà server sử dụng. Có thế là Microsoft-IIS/5.1 hoặc Apache/1.3.33 (Unix) PHP/5.0.4 mod_ssl/2.8.22 OpenSSL/0.9.7f. Sau này sẽ có một vài hàm đặc biệt, ta sẽ phải lấy thông số này trước khi sử dụng vì nó chỉ chạy trên 1 phần mềm nhất định (ví dụ như chỉ chạy trên Apache, còn trên IIS thì báo lỗi) Xâu - Các phép toán thường gặp (tiếp) Các hàm làm việc với xâu (string)
  4. So sánh 2 xâu Để so sánh 2 xâu với nhau, ta sử dụng strcmp và strncmp PHP Code: strcmp($xâu_1, $xâu_2); strncmp($xâu_1, $xâu_2, $n); Hàm strcmp sẽ chuyển từng kí tự trong 2 xâu về dạng mã byte của mỗi kí tự để so sánh, nó sẽ trả về 1 trong 3 giá trị: 1. (-1) nếu $xâu_1 "bé hơn" $xâu_2 2. 0 nếu 2 xâu "bằng nhau" 3. 1 nếu $xâu_1 "lớn hơn" $xâu_2 Hàm strncmp cũng hoạt động tương tự, nhưng nó sẽ không kiểm tra hết cả 2 xâu mà chỉ kiểm tra $n kí tự đầu tiên mà thôi Để dễ hiểu hơn, ta có ví dụ sau đây: PHP Code:
  5. E = $resultDE\$resultAF = $resultAF"; ?> Cho chạy đoạn mã trên bạn sẽ thu được: Quote: $resultAB = -1 $resultBC = 1 $resultDE = 0 $resultAF = 0 Vậy là đúng rồi nhỉ? Ngoài 2 hàm strcmp và strncmp còn có 1 vài hàm khác cũng dùng để so sánh 2 xâu với nhau tuy nhiên mỗi hàm lại khác nhau 1 tí tẹo: 1. strcasecmp và strncasecmp: 2 bạn này chỉ khác ở 1 điểm, đó là nó sẽ không phân biệt hoa thường ~> nếu trong ví dụ so sánh $strA và $strB mà dùng strcasecmp thì sẽ nhận đc kết là 0 2. strnatcmp và strnatcasecmp: 2 anh bạn này thì khá hay đấy. Giả sử bạn có 2 xâu là "filename10" và "filename9". Nếu dùng strcmp thì do mã của "1" nhỏ hơn "9" nên hiển nhiên kết quả sẽ là "filename10" nhỏ hơn "filename9"! Bạn sẽ lẩm bẩm: "Làm việc như máy (!?)". Nhưng không sao, chúng ta đã có 2 hàm strnatcmp và strnatcasecmp có khả năng làm việc như strcmp và strcasecmp cộng thêm khả năng xử lý số đặc biệt. Với strnatcmp thì "filename10" sẽ lớn hơn "filename9", với strncasecmp thì "Filename10" sẽ lớn hơn "fileNAME9" Đơn giản vậy thôi Chữ HOA và chữ thường Khi làm việc, đôi lúc bạn không muốn để ý đến chữ HOA và chữ thường, cách đơn giản nhất là sử dụng 2 hàm chuyển đổi sau: PHP Code: strtoupper($xâu); strtolower($xâu);
Đồng bộ tài khoản