Phiên này trình bày cách Học lập trình PHP có thể cung cấp nội dung động theo loại trình duyệt, số được tạo ngẫu nhiên hoặc Đầu vào của người dùng. Nó cũng cho thấy trình duyệt của máy khách có thể được chuyển hướng như thế nào.
PHP tạo một số biến môi trường hữu ích có thể nhìn thấy trong trang phpinfo.php được sử dụng để thiết lập môi trường PHP.
Một trong những biến môi trường do PHP đặt là HTTP_USER_AGENT xác định trình duyệt và hệ điều hành của người dùng.
Học lập trình PHP cung cấp một hàm getenv () để truy cập giá trị của tất cả các biến môi trường. Thông tin chứa trong biến môi trường HTTP_USER_AGENT có thể được sử dụng để tạo nội dung động phù hợp với trình duyệt.
Ví dụ sau minh họa cách bạn có thể xác định trình duyệt máy khách và hệ điều hành.
LƯU Ý - Hàm preg_match () được thảo luận trong phiên biểu thức chính quy PHP .
Nó sẽ tạo ra kết quả sau
Trình tạo số ngẫu nhiên nên được tạo mầm để ngăn chặn một kiểu số thông thường được tạo. Điều này đạt được bằng cách sử dụng hàm srand () chỉ định số hạt giống làm đối số của nó.
Ví dụ sau minh họa cách bạn có thể hiển thị hình ảnh khác nhau mỗi lần trong số bốn hình ảnh
Điều quan trọng nhất cần lưu ý khi xử lý các biểu mẫu HTML và PHP là mọi phần tử biểu mẫu trong trang HTML sẽ tự động có sẵn cho các tập lệnh Học lập trình PHP của bạn.
Hãy thử ví dụ sau bằng cách đặt mã nguồn vào tập lệnh test.php.
Phương thức = "POST" được sử dụng để đăng dữ liệu người dùng lên tập lệnh máy chủ. Có hai phương pháp đăng dữ liệu lên tập lệnh máy chủ được thảo luận trong chương GET & POST của PHP .
Hàm tiêu đề Học lập trình PHP () cung cấp các tiêu đề HTTP thô cho trình duyệt và có thể được sử dụng để chuyển hướng nó đến một vị trí khác. Tập lệnh chuyển hướng phải ở đầu trang để ngăn bất kỳ phần nào khác của trang tải.
Mục tiêu được chỉ định bởi tiêu đề Location: làm đối số cho hàm header () . Sau khi gọi hàm này, hàm exit () có thể được sử dụng để tạm dừng phân tích phần còn lại của mã.
Ví dụ sau minh họa cách bạn có thể chuyển hướng yêu cầu trình duyệt đến một trang web khác. Hãy thử ví dụ này bằng cách đặt mã nguồn trong tập lệnh test.php.
Xác định trình duyệt & nền tảng
PHP tạo một số biến môi trường hữu ích có thể nhìn thấy trong trang phpinfo.php được sử dụng để thiết lập môi trường PHP.
Một trong những biến môi trường do PHP đặt là HTTP_USER_AGENT xác định trình duyệt và hệ điều hành của người dùng.
Học lập trình PHP cung cấp một hàm getenv () để truy cập giá trị của tất cả các biến môi trường. Thông tin chứa trong biến môi trường HTTP_USER_AGENT có thể được sử dụng để tạo nội dung động phù hợp với trình duyệt.
![]() |
| Học lập trình PHP chuyên nghiệp |
Ví dụ sau minh họa cách bạn có thể xác định trình duyệt máy khách và hệ điều hành.
LƯU Ý - Hàm preg_match () được thảo luận trong phiên biểu thức chính quy PHP .
<html> <body> <?php function getBrowser() { $u_agent = $_SERVER['HTTP_USER_AGENT']; $bname = 'Unknown'; $platform = 'Unknown'; $version = ""; //First get the platform? if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; }elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; }elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; } // Next get the name of the useragent yes seperately and for good reason if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; } elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; } elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; }elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; }elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; }elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; } // finally get the correct version number $known = array('Version', $ub, 'other'); $pattern = '#(?<browser>' . join('|', $known) . ')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#'; if (!preg_match_all($pattern, $u_agent, $matches)) { // we have no matching number just continue } // see how many we have $i = count($matches['browser']); if ($i != 1) { //we will have two since we are not using 'other' argument yet //see if version is before or after the name if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; }else { $version= $matches['version'][1]; } }else { $version= $matches['version'][0]; } // check if we have a number if ($version == null || $version == "") {$version = "?";} return array( 'userAgent' => $u_agent, 'name' => $bname, 'version' => $version, 'platform' => $platform, 'pattern' => $pattern ); } // now try it $ua = getBrowser(); $yourbrowser = "Your browser: " . $ua['name'] . " " . $ua['version'] . " on " .$ua['platform'] . " reports: <br >" . $ua['userAgent']; print_r($yourbrowser); ?> </body> </html>Điều này đang tạo ra kết quả sau trên máy của tôi. Kết quả này có thể khác nhau cho máy tính của bạn tùy thuộc vào những gì bạn đang sử dụng.
Nó sẽ tạo ra kết quả sau
Your browser: Google Chrome 54.0.2840.99 on windows reports:
Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/54.0.2840.99 Safari/537.36
Hiển thị hình ảnh ngẫu nhiên
Hàm rand () của Học lập trình PHP được sử dụng để tạo một số ngẫu nhiên. Hàm này có thể tạo các số có trong một phạm vi nhất định.Trình tạo số ngẫu nhiên nên được tạo mầm để ngăn chặn một kiểu số thông thường được tạo. Điều này đạt được bằng cách sử dụng hàm srand () chỉ định số hạt giống làm đối số của nó.
Ví dụ sau minh họa cách bạn có thể hiển thị hình ảnh khác nhau mỗi lần trong số bốn hình ảnh
<html> <body> <?php srand( microtime() * 1000000 ); $num = rand( 1, 4 ); switch( $num ) { case 1: $image_file = "/php/images/logo.png"; break; case 2: $image_file = "/php/images/php.jpg"; break; case 3: $image_file = "/php/images/logo.png"; break; case 4: $image_file = "/php/images/php.jpg"; break; } echo "Random Image : <img src=$image_file />"; ?> </body> </html>
Nó sẽ tạo ra kết quả sau
Sử dụng biểu mẫu HTMLĐiều quan trọng nhất cần lưu ý khi xử lý các biểu mẫu HTML và PHP là mọi phần tử biểu mẫu trong trang HTML sẽ tự động có sẵn cho các tập lệnh Học lập trình PHP của bạn.
Hãy thử ví dụ sau bằng cách đặt mã nguồn vào tập lệnh test.php.
<?php if( $_POST["name"] || $_POST["age"] ) { if (preg_match("/[^A-Za-z'-]/",$_POST['name'] )) { die ("invalid name and name should be alpha"); } echo "Welcome ". $_POST['name']. "<br />"; echo "You are ". $_POST['age']. " years old."; exit(); } ?> <html> <body> <form action = "<?php $_PHP_SELF ?>" method = "POST"> Name: <input type = "text" name = "name" /> Age: <input type = "text" name = "age" /> <input type = "submit" /> </form> </body> </html>
Nó sẽ tạo ra kết quả sau
Biến mặc định PHP $ _PHP_SELF được sử dụng cho tên tập lệnh Học lập trình PHP và khi bạn nhấp vào nút "gửi" thì cùng một tập lệnh PHP sẽ được gọi và sẽ tạo ra kết quả sauPhương thức = "POST" được sử dụng để đăng dữ liệu người dùng lên tập lệnh máy chủ. Có hai phương pháp đăng dữ liệu lên tập lệnh máy chủ được thảo luận trong chương GET & POST của PHP .
Chuyển hướng trình duyệt
Hàm tiêu đề Học lập trình PHP () cung cấp các tiêu đề HTTP thô cho trình duyệt và có thể được sử dụng để chuyển hướng nó đến một vị trí khác. Tập lệnh chuyển hướng phải ở đầu trang để ngăn bất kỳ phần nào khác của trang tải.
Mục tiêu được chỉ định bởi tiêu đề Location: làm đối số cho hàm header () . Sau khi gọi hàm này, hàm exit () có thể được sử dụng để tạm dừng phân tích phần còn lại của mã.
Ví dụ sau minh họa cách bạn có thể chuyển hướng yêu cầu trình duyệt đến một trang web khác. Hãy thử ví dụ này bằng cách đặt mã nguồn trong tập lệnh test.php.
<?php if( $_POST["location"] ) { $location = $_POST["location"]; header( "Location:$location" ); exit(); } ?> <html> <body> <p>Choose a site to visit :</p> <form action = "<?php $_SERVER['PHP_SELF'] ?>" method ="POST"> <select name = "location">. <option value = "http://www.tutorialspoint.com"> Tutorialspoint.com </option> <option value = "http://www.google.com"> Google Search Page </option> </select> <input type = "submit" /> </form> </body> </html>

Không có nhận xét nào:
Đăng nhận xét