Anh em nào làm về PHP chắc hiểu rõ về phương thức $_POST là gì rồi, nhưng nay mình chia sẻ thêm một xíu nữa về phương thức này.

Bình thường bạn làm form đăng nhập hoặc một form submit dữ liệu thì bạn đều hầu như gửi phương thức Post, nhưng có lần nào bạn gửi mà dữ liệu không nhận được, hay nói cách khác là lỗi không.

Có đấy, ví dụ bạn làm một form, trong đó gửi tầm khoảng 200 $_POST lên (200 dữ liệu được gửi lên) thì sao.

Keyword: PHP POST Array size limit?

Khá là khoai đấy, đây là trường hợp mình đã gặp, và ban đầu méo hiểu do gì. Sau đó mình mở source code lên vào thấy rằng, mình có sử dụng rất nhiều <input… display=”none”/> , do sử dụng 2 vòng lặp for lồng nhau nên ra rất nhiều $_POST. Với lại display=”none”, nghĩa là đây là ô input đã ẩn, nhưng nó vẫn được được gửi lên với giá trị là rỗng hoặc null. Vậy có phải là phí không, Ví dụ bạn có 100 ô input, nhưng bạn chỉ có hiện lên trên màn hình là 10 ô để nhập, (vậy là 90 ô input trống) nhưng nên nhớ, nếu bạn để display=”none” thì nó vẫn gửi lên phương thức $_POST nhé.Vậy cách khắc phục là gì

Bạn chỉ cần để disabled= “disabled” trong ô input thì mọi việc coi như Ok. Khi bạn thêm disabled nghĩa là bạn vừa ẩn nó đi, lại không gửi dữ liệu lên. Điều này rất cần thiết cho các database lớn, với khối dữ liệu đẩy lên cực lớn.

Vậy bài viết ở đây chung quy lại là gì?

display=”none” dữ liệu vẫn gửi lên như thường, giá trị là null

disabled= “disabled” dữ liệu không gửi lên.