Adrien
Jan 21 2005, 05:22 PM
Bonjour,
Suite à un projet sur mon site, j'aurais besion d'un coup de pouce côté xml, ou je n'ai pas du tout de connaissances (j'exerce que en en flash)
Je cherche à faire un formulaire d'inscription simple en html si possible, mais php si obligé, qui renverait toutes les informations inscrites pas l'utilisateur vers un fichioer xml (qui lui meme sera lu par flash, mais cela est de mon domaine lol)
En plus de cela, les informations transmises au fichier xml seraient evidement sous ma forme souhaité. Et c'est peut etre là le plus dure :?
Plan du xml :
[quote]<liste>
<cubor id="*" nom="" prenom="******">
<methode type="*******************" />
<temps meilleur="*****" moyenne="*******"/>
<lieu departement="*********" numero="**" />
<courriel adresse="******@*******.**" site="http://********.***"/>
</cubor>
// repetition de ce code à chaque inscription dans la balise <liste>
</liste>[/quote]
Donc : Formulaire-php/html => valeurs inscritessur -xml-.
Enorme merci pour ceux qui voudrons bien m'aider.
Adrien
mexandre
Jan 21 2005, 07:44 PM
Salut,
Pour le formulaire, je pense qu'il y a ce qu'il faut dans les tutos.
En revanche, tu dois générer le xml via php. Il y a un exemple dans ce tut
http://www.media-box.net/tuts.php?idfl=4131
Regarde la partie php qui génère le xml à l'aide de variables récupérées.
Adrien
Jan 21 2005, 08:23 PM
Merci, mais le tuto que tu m'a passé concerne Mysql, et moi c'est de php à xml ... sans Mysql, et je ne vois pas comment changer les valeurs Mysql par celles du formulaire php
Adrien
mexandre
Jan 21 2005, 08:38 PM
Tu n'as pas tout regardé. Ce qui est intéressant dans le tuto, c'est la boucle for pour mettre en forme le xml via php.
Adrien
Jan 21 2005, 08:59 PM
J'ai "lu" tout le code et comprit qu'1/10eme de tout ca puisque je ne programme pas en php.
Mais j'ai quand meme compris que la boucle for mettait en forme le code xml.
Mais je poste ici puisque c'est ma derniere chance, sinon mon projet tombe a l'eau !
Mais merci quand meme beaucoup :roll:
Adrien
Thanh
Jan 21 2005, 09:05 PM
Hello,
sans parler de boucle, tu pourrais simplement faire un tour du coté de la fonction echo(), puis voir comment on peut lire les infos passés depuis un formulaire (méthode POST et tableau superglobal $_POST) et enfin regardes comment on peut forcer le type mime et tu auras finis
Adrien
Jan 21 2005, 09:38 PM
Bien je ne connais rien en php malheureusement ...
De plus, je n'ai jamais vu de code sembleble a ce que je voudrais :
un code pour un formulaire qui "submit" vers xml ... lol
Ce que je demande est vraiment tres ambigü :cry:
Adrien
Antoine
Jan 21 2005, 10:23 PM
Le code en couleur (aux modos > virez celui ci dessus

)
[quote]
<?
,
[/color]) {
[/color];
[/color];
[/color];
[/color];
[/color];
[/color];
[/color];
[/color];
[/color];
[/color]);
[/color]);
[/color]);
}
[/color]);
[/color]
[/quote]
Adrien
Jan 22 2005, 01:06 PM
Exelent !
Cela marche presque à la perfection d'apres ce que j'ai reussi à faire ...
2 erreurs que je ne saurais pas corriger :
:arrow: Lors d'une 2 eme inscription, les information sont remplacées dans le .xml et non ajoutées en dessous des premieres
:arrow: Les balises <liste> et </liste> ne sont pas presente lors de l'inscription dans le .xml
Mais c'est un tres bon code sinon, je n'y connais rien en php, mais j'ai reussi à en faire un tit quelquechose.
Pourrais tu m'aider encore un tout petit peu Antoine stp ? :oops:
Merci beaucoup sinon !
Adrien
Adrien
Jan 22 2005, 01:10 PM
Je me suis bien trompé, je retir le defaut : les balises sont bien inscrites !
MERCI encore ! (j'ai peur d'en faire de trop, mais c'est genial)
Adrien
Adrien
Jan 22 2005, 02:12 PM
Bon, et bien tout marche !
J'ai trouvé l'erreur possible :
L'id ($id) devrait augmenter de 1 à chaque inscription pour que la liste soi une liste (infos de CHAQUE inscription et non pas reecriture sur la meme a chaque inscription)
Donc que $id devienne à chaque inscription $id+1
pour que dans le fichier xml ce soit :
<liste>
id0= (les infos)
id1= (les autres infos)
id3= ...
</liste>
Merci d'avance si tu pouvais me trouver juste ce petit bout de code :wink:
Adrien
Antoine
Jan 22 2005, 03:06 PM
pour les id, tu dois le faire avant l'appel de ma fonction. Sinon, tu remplace cette ligne
| CODE |
| $handle = fopen($nomDeFichier.".xml", "w+"); |
par celle ci
| CODE |
| $handle = fopen($nomDeFichier.".xml", "w+"); |
Adrien
Jan 22 2005, 03:26 PM
Ben tu viens de me donner 2 fois le meme code
lol :wink:
Adrien
Adrien
Jan 22 2005, 09:20 PM
Alors voila le code final (2 ou trois modifs de noms ont été faites), et après j'explique le problème :
| CODE |
<?php
function form2xml($nomDeFichier, $id, $nom, $prenom, $type, $temps_meilleur,
$temps_moyenne, $departement, $num, $mail, $site) {
$texte = "";
$texte .= "<liste>";
$texte .= "<cubor id=\"".$id."\" nom=\"".$nom."\" prenom=\"".$prenom."\">\n";
$texte .= "<methode type=\"".$type."\" />\n";
$texte .= "<temps meilleur=\"".$temps_meilleur."\" moyenne=\"".$temps_moyenne."\"/>\n";
$texte .= "<lieu departement=\"".$departement."\" numero=\"".$num."\" />\n";
$texte .= "<courriel adresse=\"".$mail."\" site=\"".$site."\"/>\n";
$texte .= "</cubor>\n";
$texte .= "</liste>";
$handle = fopen($nomDeFichier.".xml", "w+");
fputs($handle, $texte);
fclose($handle);
}
form2xml("informations", $id, "$nom", "$prenom", "$type", "$temps_meilleur","$temps_moyenne", "$departement", "$num", "$mail", "$site");
?> |
Les informations du formulaire arrive ici, sont traitées, et sont reecrites sur le xml.
Mais l'inconvenian majeur est lorqu'un autre visiteur s'inscrit, le precedent est suprimé, et le nouveau prend sa place. Les information precedant les nouvelles sont suprimées.
Quielqu'un peut corriger ce code pour que chaque inscription via le formulaire (formulaire.php chez moi) soit AJOUTéE sous la precedante, et cela dans l'UNIQUE balise <liste> et </liste> (sans reinscription de liste et /liste)
Merci encore et encore à ceux qui m'aide en ce moment, notement Antoine.
Adrien
passicon
Jan 22 2005, 09:38 PM
je ne suis pas sur de t'aider, mais pour ma part je connait assez bien flash, alors pour gerer des données xml comme tu veutl e faire, je decompile mon fichier xml dans flash puis je le recompile pour l'envoyer a php!! c'est un peu compliqué mais si tu connait bien flash :wink:
Adrien
Jan 23 2005, 11:03 AM
Lol,
J'ai mon formulaire en php pret, et fonctionnel !
Il envois les infos correctement au fichier envoie.php qui comporte le code
Une personne a reussi à m'aider pour le bout de code qui ne marchais pas, et qui faisait reecrire sur la premiere inscription :
C'est l'instruction a+ et non w+ (16eme ligne), puisque a+ ouvre, er ecrit A LA FIN du fichier.
Seule dernier pb : la reecriture ne se fait pas ds les balises <liste> et </liste>, mais elle se reecrivent a chaque inscription, et cela n'est pas lu par mon flash, il ne doit y avoir que 2 seules balises, et ttes les inscriptions ds ces 2 seules balises.
Merci beaucoup,
Adrien
Adrien
Jan 23 2005, 01:16 PM
Voila le code qui devrais etre changé je pense :
| CODE |
$handle = fopen($nomDeFichier.".xml", "a+");
fputs($handle, $texte);
fclose($handle); |
Mais ou et comment inscerer une instruction pour que l'ecriture est lieu entre les balises <liste> et </liste> ?!
Merci a tous !
Adrien
Antoine
Jan 23 2005, 01:25 PM
Ouais, c'est plus compliqué, j'ai pas le temp de regarder ça de plus près. Sorry
Adrien
Jan 23 2005, 03:16 PM
Mais MERCI Antoine, tu m'a deja donné beaucoup !
Mais si quelqu'un d'autre pourrait m'aider, ce serait tres gentil ... :wink:
Adrien
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez
cliquer ici.