document.location équivalent en PHP

Petit nouveau ! | 2 Messages

28 août 2008, 17:11

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.

ViPHP
ViPHP | 4039 Messages

28 août 2008, 18:58

j'ai pas tout saisi, mais $_POST est un tableau comme plein d'autres, alors il suffit d'une boucle pour le traverser.
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.

Petit nouveau ! | 2 Messages

07 sept. 2008, 21:22

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;
}

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

07 sept. 2008, 21:30

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);
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

x@v
Mammouth du PHP | 570 Messages

09 sept. 2008, 01:31

pour plus de sécurité tu peux ajouter une variable pour identifier la provenace de la page et donc les valeur boucler.

Mammouth du PHP | 881 Messages

09 sept. 2008, 06:17

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]
Soyez artisans de paix