2012-05-21 31 views
6

Biểu mẫu sau đây gây ra biến số trống rỗng $_POST trên IE9.

<form id='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 

Biểu mẫu hoạt động hoàn hảo trên Firefox và Chrome. Tất cả các biến xuất hiện trong biến số $_POST không có vấn đề gì.

Trên IE9, tuy nhiên, biểu mẫu được gửi đúng cách, nhưng $_POST là mảng trống. I.e., trong login.php:

print_r($_POST); 

in mảng trống. Tôi đang cố gắng để tìm ra những gì có thể khác nhau về IE9 đó là làm cho nó hoạt động khác nhau từ Firefox và Chrome và tôi không thể tìm ra nó.

Tôi đã đề cập đến một số mô-đun trong Apache đang gây ra sự cố cho mọi người, nhưng tôi đang chạy IIS7, không phải Apache, vì vậy không phải vậy. Một người nào đó trên diễn đàn Ruby đã đề cập thiết lập một DisableNTLMPreAuth thành 1 trong sổ đăng ký, nhưng điều đó cũng không cố định nó.

Mọi trợ giúp đều được đánh giá cao.

+0

Thử đặt hành động thành tự và thực hiện print_r ở đó. Hoặc là login.php những gì bạn đang hiển thị cho chúng tôi? –

+1

Bạn đã thử xuất ra phpinfo() chưa? Nó sẽ là thú vị để xem nếu bất kỳ của các biến yêu cầu là populating. Ví dụ: $ _REQUEST –

+5

mở nhà phát triển-comsole trên IE (nhấn F12) và chuyển sang tab mạng. bây giờ gửi biểu mẫu của bạn và xem xét yêu cầu được hiển thị: là các giá trị được đề cập ở đó (có nghĩa là bạn đang gặp sự cố phía máy chủ) hoặc chúng thiếu (vấn đề là phía máy khách). – oezi

Trả lời

-1

plz nhập thuộc tính "tên" cho biểu mẫu.

<form id='login' name='login' action='login.php' method='POST' accept-charset='UTF-8'> 
<input type='text' name="username" id='username' /> 
<input type='password' name='password' id='password' /> 
<input type="text" name="store" /> 
<input type='submit' name='Submit' value='Submit' /> 
</form> 
-1

Lý do là bạn không duy trì phiên. Trong Firefox và Chrome rất thông minh và họ duy trì phiên không phân biệt Phát triển Mã, mang lại cho người dùng những điều tốt đẹp. Nhưng trong IE6-9, IE Không thể duy trì phiên, nhà phát triển phải kiểm tra nó và nếu phiên không được duy trì mỗi trang được nạp là một phiên mới và do đó không có bài đăng nào.

0

Tôi nghĩ rằng điều này là để làm với một hit kép - tức là IE đang tải lại trang bằng cách nào đó. Bạn đã có một số công cụ phụ của khách hàng (jQuery?) Mà lại tải lại trang một cách tình cờ dưới dạng lỗi? Hãy thử đăng bài lên một trang hoàn toàn mới và viết <?PHP die ('<pre>'.print_r($_REQUEST,true).'</pre>');?> trên dòng trên cùng và xem điều gì sẽ xảy ra.

1

bộ ký tự chấp nhận không hỗ trợ trong Internet Explorer. Loại bỏ nó và xem nếu đó là giải quyết vấn đề.

Các vấn đề liên quan