2008-10-13 11 views
15

Mam formularz, który ma wiele pól, a do celów testowych istnieje sposób, w jaki mogę wydrukować wartości wprowadzone we wszystkich polach, bez konieczności drukowania pojedynczo każdej wartości.Wydrukuj wartości postów

Odpowiedz

19
+0

Choć to naprawdę odpowiada na pytanie bardzo dobrze i działa doskonale, zastanawiam się, czy ma var_dump z warunkiem ** ** dane użytkownika mogą być zagrożenie bezpieczeństwa (jeśli php-doc, który zawiera var_dump) byłby osiągalny z niezaufanego źródła? Czy wiesz, czy proponowane rozwiązanie jest bezpieczne? – humanityANDpeace

+1

@humanityANDpeace nie należy używać var_dump w środowisku produkcyjnym, to naprawdę tylko do celów testowych. Tak więc jedynym użytkownikiem, który mógłby dostarczyć niebezpiecznych danych, powinien być Ty :) –

10

Dla dodatkowego kredytu, zawsze mam:

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

Ilekroć muszę debugowania tablicę - co jest bardzo często - po prostu robię pre ($ arr); aby uzyskać ładnie sformatowany zrzut.

+0

+1: Prosty i użyteczny! Thanx! –

13

/var_dump() są proste i wykonują zadanie.

Jeśli chcesz stylizowany opcja/dynamiczny sprawdzeniu Krumo:

http://krumo.sourceforge.net/

Wielu programistów używać print_r() i var_dump() ... Krumo jest alternatywą: robi to samo zadanie, ale prezentuje informacje upiększone za pomocą CSS i DHTML.

+0

Interesujące. Thxs dla łącza. –

0

Poza tym przy użyciu instrukcji inline debugowania, można także biorąc pod uwagę przejściowy debugowanie, czyli można używać IDE z możliwości debugowania, jak Eclipse czy Zend Studio. W ten sposób możesz obejrzeć dowolną zmienną, którą chcesz.

pa!

2

Jeśli dużo debagujesz, polecam zainstalować XDebug. Powoduje, że var_dump jest bardzo ładny i użyteczny (podając typ i długość zmiennej).

3

Ten kod PHP nie wymaga znajomości pól w formularzu, który się do niego przesyła, po prostu przeplata wszystkie pola, w tym pola wielokrotnego wyboru (np. Pola wyboru) i wypluwa ich wartości.

<?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

... każda (wartość $) {powinna być ... każda (wartość $)) { –

8

Jeśli zwrócić szczególną uwagę na metody $_POST[] lub $_GET[], zdasz sobie sprawę, że obaj są rzeczywiście arrays.This oznacza, że ​​można bawić się z nimi tak, jak to zrobić z innymi tablicami.

Na przykład, można print_r($_POST) i będzie zobaczyć wszystko sposób zostały wprowadzone ..

4

I w zasadzie używać

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

wydrukować wartości pocztowych w ładnym sformatowanych sposób.

-3

Bardzo prosto,

phpinfo(); 

zawiera listę wszystkich zmiennych przekazanych do php z formularza, w łatwym do odczytania formacie.

+0

to zdecydowanie przesada w tym przypadku ... –

1

To pokazuje więcej niż tylko zmienne POST, ale jest tak proste, jak to tylko możliwe.

<?php 
    phpinfo(INFO_VARIABLES); 
?>