Tôi là người mới sử dụng PHP và tôi gặp sự cố với biến POST đôi khi bị trống khi tôi gửi chúng. Phần mà làm cho điều này khó khăn cho tôi để tìm ra là điều này không xảy ra mỗi lần, và tôi thường có thể nhận được dữ liệu bài viết trong chương trình PHP của tôi bằng cách đơn giản làm mới trang. Đôi khi nó sẽ mất một vài lần, nhưng một khi dữ liệu đã đi qua một lần, nó sẽ tiếp tục đi qua tốt.
Các ứng dụng PHP khác (Wordpress và các ứng dụng khác) hoạt động tốt và không bao giờ đưa ra bất kỳ lỗi nào, vì vậy tôi chắc chắn có vấn đề với ứng dụng php của tôi.
Tôi có PHP 4.2.9 được cài đặt trên một máy chủ CentOS 5.2, và có KeepAliveTimeout thiết lập để 1.
Mã cho ứng dụng trong đó tôi xử lý dữ liệu nộp:
<?php
session_start();
if (isset($_SESSION['username'])) {
$expire = time() + (60*60*24*30);
setcookie("username", $_SESSION['username'], $expire);
}
header("Cache-control: no-cache");
if (!isset($_SESSION['username'])) {
header('Location: ./login.php');
die();
}
if(empty($_SERVER['CONTENT_TYPE'])){
$type = "application/x-www-form-urlencoded";
$_SERVER['CONTENT_TYPE'] = $type;
}
var_dump($_POST);
echo "\n";
var_dump($_SERVER);
?>
Bất kỳ sự giúp đỡ tất cả sẽ được đánh giá cao
Chỉnh sửa: Tôi đã tìm thấy một sự khác biệt giữa yêu cầu đăng bài làm việc và những yêu cầu không thành công. Firebug nói với tôi rằng khi bài đăng không thành công, trạng thái là chuyển hướng 302 thay vì 200 ok. Im không thực sự chắc chắn những gì có thể gây ra điều đó, nhưng tôi có kiểm soát bộ đệm tiêu đề trong việc gửi biểu mẫu giống như nó xuất hiện trong đoạn mã trên.
Bất kỳ ý tưởng nào?
Biểu mẫu trông như thế nào bạn đang BÀI ĐĂNG? –
Điều này có xảy ra ở tất cả các trình duyệt không? – DisgruntledGoat
bạn cũng có thể kiểm tra biến $ _REQUEST chứa chậu và nhận dữ liệu – NDM