Làm cách nào để nhận giá trị từ bài đăng trong PHP?

Dữ liệu POST được gửi bởi một biểu mẫu và "được đăng" lên máy chủ web dưới dạng dữ liệu biểu mẫu. Dữ liệu POST được mã hóa theo cách giống như dữ liệu GET, nhưng thường không hiển thị cho người dùng trong các trình duyệt tiêu chuẩn

Hầu hết các biểu mẫu sử dụng phương thức đăng vì nó “ẩn” dữ liệu biểu mẫu khỏi người dùng và không làm lộn xộn URL trong thanh địa chỉ. Lưu ý rằng các phương thức GET và POST đều (ở) an toàn như nhau

Người dùng có thể dễ dàng sử dụng dữ liệu GET trong một URL, điều tương tự cũng có thể được thực hiện với dữ liệu POST. Bạn phải luôn cho rằng người dùng có thể gửi bất kỳ biểu mẫu và dữ liệu biểu mẫu nào mà họ muốn và xử lý dữ liệu tương ứng. Không tin tưởng đầu vào của người dùng, cho dù đó là từ GET hay POST

Dữ liệu bài đăng được truy cập bằng mảng $_POST trong PHP

php
   echo("First name: " . $_POST['firstname'] . "
\\n");
echo("Last name: " . $_POST['lastname'] . "
\\n");
?>

<form action="myform5.php" method="post">
   <p>First name: <input type="text" name="firstname" />p>
   <p>Last name: <input type="text" name="firstname" />p>
   <input type="submit" name="submit" value="Submit" />
form>

Sử dụng “isset”

Bạn có thể sử dụng chức năng “isset” trên bất kỳ biến nào để xác định xem nó đã được đặt hay chưa. Bạn có thể sử dụng chức năng này trên mảng $_POST để xác định xem biến đã được đăng hay chưa. Điều này thường được áp dụng cho giá trị của nút gửi, nhưng có thể được áp dụng cho bất kỳ biến nào

Ví dụ

php
   if(isset($_POST['submit']) 
   {
      echo("First name: " . $_POST['firstname'] . "
\\n");
echo("Last name: " . $_POST['lastname'] . "
\\n");
} ?>

<form action="myform5.php" method="post">
   <p>First name: <input type="text" name="firstname" />p>
   <p>Last name: <input type="text" name="firstname" />p>
   <input type="submit" name="submit" value="Submit" />
form>

Đoạn mã trên sẽ chỉ hiển thị các giá trị đã gửi nếu nhấp vào nút gửi

Tôi có thể sử dụng cả GET và POST trên cùng một trang không?

GET và POST chiếm các không gian khác nhau trong bộ nhớ của máy chủ, vì vậy cả hai có thể được truy cập trên cùng một trang nếu bạn muốn. Một cách sử dụng có thể là hiển thị các thông báo khác nhau trên một biểu mẫu tùy thuộc vào nội dung trong chuỗi truy vấn

http://mysite/myform5.php?lang=english

php
   if(isset($_POST['submit']) {
      if($_GET['lang'] == "english") {
         echo("First name: " . $_POST['firstname'] . "
\\n");
echo("Last name: " . $_POST['lastname'] . "
\\n");
} else if($_GET['lang'] == "spanish") { echo("Nombre: " . $_POST['firstname'] . "
\\n");
echo("Apellido: " . $_POST['lastname'] . "
\\n");
} ?>

<form method="post">
   <p>First name: <input type="text" name="firstname" />p>
   <p>Last name: <input type="text" name="firstname" />p>
   <input type="submit" name="submit" value="Submit" />
form>

Thay vì sử dụng mảng GET và POST, bạn cũng có thể sử dụng mảng $_REQUEST, sẽ chứa nội dung kết hợp của dữ liệu. Nếu biến GET và POST trùng tên thì POST sẽ được ưu tiên. Bạn không nên làm điều này trừ khi bạn thực sự phải làm, vì nó có thể gây nhầm lẫn và tốt nhất là bạn nên làm rõ nguồn gốc của thông tin đầu vào

Một điều nữa cần chú ý. "hành động" trên biểu mẫu hiện bị thiếu. Về mặt kỹ thuật, đây không phải là HTML hợp lệ. Tuy nhiên, bằng cách không đưa vào một hành động, các trình duyệt sẽ cho rằng biểu mẫu đang gửi cho chính nó. Điều này rất quan trọng vì nó cũng sẽ bảo toàn chuỗi truy vấn khi biểu mẫu được gửi (phần ?lang=english). Bạn có thể sử dụng các biến máy chủ như $_SERVER['PHP_SELF']$_SERVER['QUERY_STRING'] để tạo giá trị hành động

Để biết thêm thông tin, hãy xem phần Sử dụng PHP_SELF trong trường hành động của biểu mẫu

Đăng ký toàn cầu tắt?

Nếu bạn đang sử dụng phiên bản PHP cũ hơn 4. 2. 0, bạn nên cân nhắc kỹ việc đặt register_globals thành “tắt” trong. htaccess (nếu bạn đang sử dụng máy chủ Apache) vì những lý do chính xác giống như đã được đề cập trong hướng dẫn trước về GET. Nếu bạn có PHP 4. 2. 0 hoặc mới hơn, đừng lo lắng về điều đó

Tìm hiểu thêm về POST

Các giá trị POST không giới hạn về độ dài và do đó rất phù hợp với các biểu mẫu, đặc biệt là các biểu mẫu có nhiều trường

Làm cách nào để nhận các giá trị từ yêu cầu POST trong PHP?

Trong PHP, chúng ta có thể sử dụng phương thức $_POST như một biến siêu toàn cục được vận hành để quản lý dữ liệu biểu mẫu . Sau khi chúng tôi nhấp vào nút gửi và trang sẽ gửi dữ liệu qua phương thức đăng.

Làm cách nào để lấy giá trị của mảng POST trong PHP?

Sử dụng mảng $_GET trong PHP . $_GET[variable_name] ; echo $_GET['firstName'] //Sam echo $_GET['firstName'] //Nguyen use "echo" to print the value to web page.

Làm cách nào để lấy dữ liệu POST trong tệp PHP?

Hiển thị hoạt động trên bài đăng này. .
Trong PHP, để lấy dữ liệu POST từ một yêu cầu đến, hãy sử dụng mảng $_POST. Mảng POST trong PHP là kết hợp, có nghĩa là mỗi tham số đến sẽ là một cặp khóa-giá trị. .
Chọn một định dạng dựa trên chuỗi hữu ích để lưu trữ dữ liệu. .
Lưu trữ chuỗi trong một tệp

$_ GET và $_ POST trong PHP là gì?

$_GET là một mảng các biến được truyền tới tập lệnh hiện tại thông qua các tham số URL. $_POST là một mảng các biến được truyền tới tập lệnh hiện tại thông qua phương thức HTTP POST .