Hướng dẫn combine html and php code on a single page - kết hợp mã html và php trên một trang

Chương này là từ cuốn sách 

Kết hợp mã HTML và PHP trên một trang

Trong một số trường hợp, bạn có thể muốn bao gồm mã phân loại biểu mẫu trên cùng một trang với dạng HTML được mã hóa cứng. Sự kết hợp như vậy có thể hữu ích nếu bạn cần trình bày cùng một biểu mẫu cho người dùng nhiều lần. Bạn sẽ có sự linh hoạt hơn nếu bạn viết toàn bộ trang một cách linh hoạt, nhưng bạn sẽ bỏ lỡ một trong những thế mạnh lớn của PHP. HTML bạn có thể để lại trong các trang của mình, họ sẽ càng dễ dàng cho các nhà thiết kế và nhà xây dựng trang để sửa đổi mà không cần tham khảo bạn. Tuy nhiên, bạn nên tránh phân tán các đoạn mã PHP đáng kể trong suốt các tài liệu của bạn. Điều này sẽ làm cho họ khó đọc và duy trì. Nếu có thể, bạn nên tạo các chức năng có thể được gọi từ trong mã HTML của bạn và có thể được sử dụng lại trong các dự án khác.

Đối với các ví dụ sau, hãy tưởng tượng rằng chúng tôi đang tạo một trang web dạy toán cơ bản cho trẻ mẫu giáo và đã được yêu cầu tạo một tập lệnh lấy một số từ đầu vào biểu mẫu và cho người dùng biết nó lớn hơn hay nhỏ hơn một số nguyên được xác định trước.

Liệt kê 9.8 Tạo HTML. Đối với ví dụ này, chúng tôi chỉ cần một trường văn bản duy nhất, nhưng ngay cả như vậy, chúng tôi sẽ bao gồm một PHP nhỏ.

Liệt kê 9,8 một biểu mẫu HTML tự gọiAn HTML Form that Calls Itself

 1: <html>
 2: <head>
 3: <title>Listing 9.8 An HTML form that calls itself</title>
 4: </head>
 5: <body>
 6: <form method="POST">
 7: Type your guess here: <input type="text" name="guess">
 8: </form>
 9: </body>
10: </html> 

Bất cứ điều gì chúng tôi đặt tên cho trang có chứa biểu mẫu này, thực tế là chúng tôi đã để lại thuộc tính hành động của phần tử biểu mẫu sẽ có nghĩa là biểu mẫu sẽ được gửi lại cho URL của chính nó.

GHI CHÚ

Hầu như tất cả các trình duyệt sẽ gửi một biểu mẫu cho trang hiện tại của nó nếu thuộc tính hành động của phần tử biểu mẫu bị bỏ qua. Tuy nhiên, bạn có thể nói rõ ràng cho trình duyệt gửi biểu mẫu trở lại tài liệu của chính mình bằng cách sử dụng biến $ PHP_elf được xác định trước.

Tập lệnh trong danh sách 9.8 sẽ không tạo ra bất kỳ đầu ra nào. Trong danh sách 9.9, chúng tôi bắt đầu xây dựng phần tử PHP của trang. Đầu tiên, chúng ta cần xác định số mà người dùng sẽ đoán. Trong một phiên bản hoạt động đầy đủ, có lẽ chúng tôi sẽ tạo ngẫu nhiên điều này, nhưng bây giờ chúng tôi sẽ giữ cho nó đơn giản. Chúng tôi gán '42' cho biến $ num_to_guess trên dòng 2. Tiếp theo, chúng tôi cần quyết định xem biểu mẫu có được gửi hay không; Nếu không, chúng tôi sẽ cố gắng đánh giá các biến chưa được cung cấp. Chúng tôi có thể kiểm tra để gửi bằng cách kiểm tra sự tồn tại của biến $ Guess. $ Guess sẽ được cung cấp dưới dạng biến toàn cầu nếu tập lệnh của bạn đã được gửi một tham số "đoán". Nếu điều này không có mặt, chúng tôi có thể giả định một cách an toàn rằng người dùng đã đến trang mà không cần gửi biểu mẫu. Nếu giá trị có mặt, chúng ta có thể tiếp tục và kiểm tra giá trị mà nó chứa. Bài kiểm tra cho sự hiện diện của biến $ Guess diễn ra trên dòng 4.

Liệt kê 9.9 Một tập lệnh đoán số PHP A PHP Number Guessing Script

 1: <?php
 2: $num_to_guess = 42;
 3: $message = "";
 4: if ( ! isset( $guess ) )
 5:  $message = "Welcome to the guessing machine!";
 6: elseif  ( $guess > $num_to_guess )
 7:  $message = "$guess is too big! Try a smaller number";
 8: elseif  ( $guess < $num_to_guess )
 9:  $message = "$guess is too small! Try a larger number";
10: else // must be equivalent
11:  $message = "Well done!";
12: 
13: ?>
14: <html>
15: <head>
16: <title>Listing 9.9 A PHP number guessing script</title>
17: </head>
18: <body>
19: <h2>
20: <?php print $message ?>
21: </h2>
22: <form method="POST">
23: Type your guess here: <input type="text" name="guess">
24: </form>
25: </body>
26: </html>

Phần lớn tập lệnh này bao gồm một câu lệnh IF xác định chuỗi nào để gán cho thông báo $ biến. Nếu biến $ Guess chưa được đặt, chúng tôi cho rằng người dùng đã đến lần đầu tiên và gán một chuỗi chào mừng cho biến thông báo $ trên dòng 5.

Mặt khác, chúng tôi kiểm tra biến $ Guess so với số chúng tôi đã lưu trữ trong $ num_to_ đoán và gán lời khuyên cho $ tin nhắn cho phù hợp. Chúng tôi kiểm tra xem $ Guess có lớn hơn $ num_to_guess trên dòng 6 hay không và liệu nó có nhỏ hơn $ num_to_guess trên dòng 8. Nếu $ đoán không lớn hơn $ num_to_guess, chúng tôi có thể cho rằng nó tương đương và gán thông báo chúc mừng đến biến (dòng 11). Bây giờ tất cả những gì chúng ta cần làm là in biến tin nhắn $ trong phần thân của HTML.

Có một vài bổ sung nữa, nhưng bạn có thể thấy việc giao trang này cho một nhà thiết kế dễ dàng như thế nào. Anh ta có thể làm cho nó đẹp mà không cần phải làm phiền việc lập trình theo bất kỳ cách nào.

Dễ đọc nhất là PHP trong HTML nhưng chỉ một chút. Bạn nên chia tập tin của bạn thành hai phần.Combining HTML and PHP Code on a Single Page

Homesubjectscombining mã HTML và PHP trên một trang

  • Kết hợp mã HTML và PHP trên một trang
  • Viết mã PHP bằng mã HTML trên một trang như trên bản cứng.
  • Tính linh hoạt hơn để viết toàn bộ trang một cách linh hoạt.
  • Để sử dụng biến PHP_elf nằm trong trường hành động của thẻ & nbsp; & nbsp;
  • Trường hành động của biểu mẫu hướng dẫn nơi gửi dữ liệu biểu mẫu khi người dùng nhấn nút Gửi.
  • Cùng một trang PHP như trình xử lý cho biểu mẫu là tốt.

Example:-

Trường hành động của biểu mẫu sử dụng để chuyển sang điều khiển sang trang khác nhưng sử dụng biến PHP_elf không cần chỉnh sửa trường hành động.

="post" action="abcd.php" >

& nbsp; & nbsp;

Mã PHP này nằm trên phần HTML và sẽ được thực thi trước.

="form1" method="post" action=" echo $_SERVER['PHP_SELF']; ?>" >

Dòng mã đầu tiên là kiểm tra xem biểu mẫu có được gửi hay không. & NBSP;

if(isset($_POST['submit']))(isset($_POST['submit']))

Tên của nút gửi là, gửi thư. & NBSP;

Khi nhấn nút gửi, & nbsp; $ _ post ['gửi'] & nbsp; sẽ được đặt và điều kiện if sẽ trở thành đúng. & Nbsp;= $_POST['name'];

Nó đang hiển thị tên được nhập bởi người dùng.echo "User Has submitted the form and entered this name : $name ";

& nbsp; & nbsp; & nbsp; echo "Bạn có thể sử dụng biểu mẫu sau để nhập một tên mới.";echo "
You can use the following form again to enter a new name.";

}

?>

="post" action=" echo $_SERVER['PHP_SELF']; ?>">

& nbsp; & nbsp;="text" name="name">

& nbsp; & nbsp;="submit" name="submit" value="Submit Form">

Hướng dẫn combine html and php code on a single page - kết hợp mã html và php trên một trang

Hướng dẫn combine html and php code on a single page - kết hợp mã html và php trên một trang

  • & nbsp; & nbsp;
  • Mã PHP này nằm trên phần HTML và sẽ được thực thi trước.
  • Dòng mã đầu tiên là kiểm tra xem biểu mẫu có được gửi hay không. & NBSP;
  • Tên của nút gửi là, gửi thư. & NBSP;
  • Khi nhấn nút gửi, & nbsp; $ _ post ['gửi'] & nbsp; sẽ được đặt và điều kiện if sẽ trở thành đúng. & Nbsp;
  • Nó đang hiển thị tên được nhập bởi người dùng.
  • Nếu biểu mẫu không được gửi thì điều kiện IF sẽ sai vì sẽ không có giá trị trong & nbsp; $ _ post ['gửi'] & nbsp; và mã PHP sẽ không được thực thi. & Nbsp;
  • Trong trường hợp này, chỉ có biểu mẫu sẽ được hiển thị.
  • Biến PHP_elf được sử dụng để lấy tên và đường dẫn của tệp hiện tại nhưng nó cũng có thể được sử dụng bởi các tin tặc.
  • Nếu php_elf được sử dụng trong trang của bạn thì người dùng có thể nhập các lệnh chém (/) và sau đó một số lệnh scripting sesit (XSS) để thực thi.

Syntax:-

<form name="test" action="<?php echo htmlentities($_SERVER['PHP_SELF']); ?>" method="post">
The htmlentities() function encodes the HTML entities. Now if the user tries to exploit the PHP_SELF variable, the attempt will fail and the result of entering malicious code in URL will result in the following output:
<form name="test" method="post" 
action="form-action.php/&quot;&gt;&lt;script&gt;alert('xss')&
lt;/script&gt;&lt;foo">

Có thể tránh các khai thác PHP_Self bằng cách sử dụng HTMLEndities () & NBSP; Hàm.


Chúng ta có thể kết hợp HTML và PHP không?

Lưu ý: Để sử dụng PHP trong HTML, bạn phải sử dụng tiện ích mở rộng .PhP vì trong PHP, mã được giải thích và chạy ở phía máy chủ.Ví dụ 1: PHP.To use PHP in HTML, you have to use the . php extension because In PHP the code is interpreted and run on the server-side. Example 1: PHP.

Tôi có nên tách PHP và HTML không?

Dễ đọc nhất là PHP trong HTML nhưng chỉ một chút.Bạn nên chia tập tin của bạn thành hai phần.