63 votes

PHP : Possible d'obtenir automatiquement toutes les données POSTées ?

Question simple : est-il possible d'afficher toutes les données sur une page, même si vous ne connaissez pas tous les champs ?

Par exemple, je souhaite écrire un script simple qui collecte toutes les données postées et les envoie par e-mail. Je peux prévoir que les champs du formulaire sont susceptibles de beaucoup changer avec le temps, et donc pour gagner du temps à long terme, je me demandais si je pouvais écrire quelque chose qui regrouperait tout automatiquement ?

Est-il possible?

117voto

Pekka 웃 Points 249607

Sûr. Parcourez simplement le tableau $_POST

 foreach ($_POST as $key => $value) {
    echo "Field ".htmlspecialchars($key)." is ".htmlspecialchars($value)."<br>";
}

8voto

diEcho Points 22385

Oui, vous pouvez utiliser simplement

      $input_data = $_POST;

ou extract() peut vous être utile.

5voto

George Cummins Points 16354

Toutes les données publiées seront dans le superglobal $_POST.

http://php.net/manual/reserved.variables.post.php

4voto

Tickthokk Points 38

Tant que vous ne voulez pas de formatage particulier : oui.

 foreach ($_POST as $key => $value) 
    $body .= $key . ' -> ' . $value . '<br>';

Évidemment, plus de formatage serait nécessaire, mais c'est la méthode "simple". Sauf si j'ai mal compris la question.

Vous pouvez aussi faire quelque chose comme ça (et si vous aimez le format, c'est certainement plus facile):

 $body = print_r($_POST, true);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X