Page 1 sur 1

document.location équivalent en PHP

Posté : 28 août 2008, 17:11
par iliade
Bonjour,

Je suis entrain de faire un formulaire, que je qualifirai d'automatique.
Enfaite le nom des champs dépendent en autres de fichier XML.

Donc je renvoie les valeurs d'un formulaire vers un fichier PHP, et je voudrais ne pas à savoir d'avance le nom des champs pour $_POST[], faire quelque chose d'automatique.
Ce qui me permetterai dans un avenir proche, d'avoir la possiblitée de mettre à jour les fichiers XML, et de ne pas avoir besoin de mettre à jour mon code PHP.

Es ce que je me suis bien expliquer ?

petit exemple sinon :

je ne veux pas faire ceci (du moins pas directement) :
if (isset($_POST['toto'])){
              blablabla
}

Merci d'avance de vous réponse.

Posté : 28 août 2008, 18:58
par Berzemus
j'ai pas tout saisi, mais $_POST est un tableau comme plein d'autres, alors il suffit d'une boucle pour le traverser.

Posté : 07 sept. 2008, 21:22
par iliade
Excuse moi si je n'ai pas été clair.

Donc si $_POST est un tableau, je peux donc faire ceci ?
foreach ($_POST[] as $valeur){
 echo $valeur;
}

Posté : 07 sept. 2008, 21:30
par sadeq
Tu peux faire mieux :
foreach ($_POST as $champ=>$valeur){
 echo "le champ " . $champ . " = "  . $valeur;
} 
Et donc pour produire du XML à partir des données postées, on peut écrire :
//Générer XML
$xml ="<root>\n";
foreach ($_POST as $champ=>$valeur){
  $xml .=  "<" . $champ . ">" . $valeur . "</" . $champ . ">\n"; //Générer un Element XML format : <Element>value</Element>
}
$xml .= "</root>";

//Créer le fichier xml
file_put_contents ("data.xml", $xml);

Posté : 09 sept. 2008, 01:31
par x@v
pour plus de sécurité tu peux ajouter une variable pour identifier la provenace de la page et donc les valeur boucler.

Posté : 09 sept. 2008, 06:17
par Patriboom
Tu peux aussi compter sur les tableaux automatiquement générés.

Par exemple, tu appelles toutes tes cases input "Contenu[]" et lorsque tu veux lire les valeurs inscrites, tu n'as qu'à récupérer la tableau:
$_POST["Contenu"][0]
$_POST["Contenu"][1]
$_POST["Contenu"][2]
$_POST["Contenu"][3]
$_POST["Contenu"][4]
$_POST["Contenu"][ ... ]
$_POST["Contenu"][n]