2008-10-13 38 views
15

Tôi có một biểu mẫu có nhiều trường và cho mục đích thử nghiệm là có cách tôi có thể in ra các giá trị được nhập trong tất cả các trường mà không phải in từng giá trị.In các giá trị bài viết

Trả lời

19
+0

Trong khi điều này thực sự trả lời câu hỏi rất tốt và hoạt động hoàn hảo, tôi tự hỏi nếu có một var_dump ** người dùng được cung cấp ** dữ liệu có thể là một nguy cơ bảo mật (nếu php-doc chứa var_dump) sẽ có thể truy cập từ một nguồn không đáng tin cậy? Bạn có biết nếu giải pháp được đề xuất của bạn cũng an toàn không? – humanityANDpeace

+1

@humanityANDpeace bạn không nên sử dụng var_dump trong môi trường sản xuất, nó thực sự chỉ dành cho mục đích thử nghiệm. Vì vậy, người dùng duy nhất có thể cung cấp dữ liệu không an toàn phải là bạn :) –

10

Đối với tín dụng thêm, tôi luôn luôn có:

function pre($data) { 
    print '<pre>' . print_r($data, true) . '</pre>'; 
} 

Bất cứ khi nào tôi cần phải gỡ lỗi một mảng - mà rất thường xuyên - tôi chỉ làm trước ($ arr); để có được một kết xuất được định dạng độc đáo.

+0

+1: Đơn giản và hữu ích! Thanx! –

13

print_r()/var_dump() thật đơn giản và hoàn thành công việc.

Nếu bạn muốn có một tùy chọn/động theo kiểu kiểm tra Krumo:

http://krumo.sourceforge.net/

Rất nhiều các nhà phát triển sử dụng print_r()var_dump() ... Krumo là một thay thế: nó hiện công việc tương tự, nhưng nó trình bày thông tin được làm đẹp bằng cách sử dụng CSS và DHTML.

+0

Thú vị. Thxs cho liên kết. –

0

Ngoài việc sử dụng báo cáo inline debug, bạn cũng có thể xem xét gỡ lỗi thoáng qua, ví dụ: bạn có thể sử dụng một IDE với khả năng gỡ lỗi, giống như nhật thực hoặc phòng thu zend. Bằng cách này, bạn có thể xem bất kỳ biến nào bạn muốn.

tạm biệt!

2

Nếu bạn đang gỡ lỗi rất nhiều, tôi khuyên bạn nên cài đặt XDebug. Nó làm cho var_dump của rất đẹp và hữu ích (cho bạn loại và độ dài của biến là tốt).

3

Mã PHP này không yêu cầu bất kỳ kiến ​​thức nào về các trường trong biểu mẫu gửi đến nó, nó chỉ lặp qua tất cả các trường, bao gồm các trường đa lựa chọn (như hộp kiểm) và trích ra các giá trị của chúng.

<?php 
// loop through every form field 
while(list($field, $value) = each($_POST)) { 
    // display values 
    if(is_array($value)) { 
     // if checkbox (or other multiple value fields) 
     while(list($arrayField, $arrayValue) = each($value) { 
     echo "<p>" . $arrayValue . "</p>\n"; 
     } 
    } else { 
     echo "<p>" . $value . "</p>\n"; 
    } 
} 
?> 
+0

... mỗi (giá trị $) {phải là ... mỗi (giá trị $)) { –

8

Nếu bạn chú ý tới các $_POST[] hoặc $_GET[] phương pháp, bạn sẽ nhận ra rằng cả hai trong số đó là thực sự arrays.This có nghĩa là bạn có thể chơi xung quanh với họ giống như bạn làm với bất kỳ mảng khác.

Ví dụ, bạn có thể print_r($_POST) và bạn sẽ thấy tất cả những gì con đường được nhập ..

4

tôi về cơ bản sử dụng

echo "<pre>"; print_r($_POST) ; echo "</pre>"; 

nó in các giá trị bài trong đẹp cách định dạng.

-3

Rất đơn giản,

phpinfo(); 

bao gồm một danh sách của tất cả các biến được truyền cho php từ một hình thức, trong một cách dễ dàng để đọc định dạng.

+0

chắc chắn là quá mức cần thiết trong trường hợp này ... –

1

Điều này không chỉ hiển thị các biến POST mà còn dễ dàng như vậy.

<?php 
    phpinfo(INFO_VARIABLES); 
?> 
Các vấn đề liên quan