formulaire dans fonction d'une classe

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaire dans fonction d'une classe

par ours-blanc- » 19 mars 2007, 14:42

ben en fait c'est bon il fallait juste que je passe en parametre a ma fonction l'url de la page sur laquelle envoyer les données du formulaire

par ours-blanc- » 17 mars 2007, 16:44

oui c'est vrai je vais le declarer uniquement dans la fonction

par Truc » 17 mars 2007, 15:40

Par défaut si l'action n'est pas spécifiée, le formulaire est envoyé à la page courrante :)
En passant par des pseudo frames et autres construction bizaroide, on se sait jamais.

Pour être clair c'est quoi que donc le souci ?
1. L'accès au variables tout court.
2. La réaffectation des variables POST aux champs du même nom.

Sinon c'est peut être lourd (pas utile) d'avoir un paramètre "$i" dans la classe ne servant que de compteur de boucle ($this->i) :-k

par Ryle » 17 mars 2007, 15:20

Par défaut si l'action n'est pas spécifiée, le formulaire est envoyé à la page courrante :)

Ce que tu peux faire par contre, c'est à la fin de la génération de ton formulaire, glisser un champ hidden avec pour valeur ton $this->i pour connaitre le nombre de champs.

Tu pourrais ensuite parcourir les différents éléments de $_POST en bouclant de $i = 0 à $i = la valeur de ce champ et en lisant tse variables $_POST['taille' . $i] :)

par ours-blanc- » 17 mars 2007, 15:07

comme message d'erreur il me met qu'il ne connait pas les varaibvle designées par $_POST mais j'ai pas mis de isset donc j'en sais pas plus.
non je n'ai pas mis d'attribut action c'est vrai, peut etre je devrais appeller la page dans laquelle j'appelle ma fonction dans le formulaire en la passant en parametre par exemple. faut que j'essaye ca.
merci

par Truc » 17 mars 2007, 14:34

Normalement tu devrais pouvoir les retouver dans la page où tu fait appel à cette fonction.

Tu n'as pas d'attribut "action" .... un rapport ?! :-k

Tu as des messages d'erreurs ?

par ours-blanc- » 17 mars 2007, 14:01

quelqu'un aurait une idée?
ma question c'est en fait, ou puis je mette les $_POST pour recuperer les valeurs que j'entre dans mon formulaire alor que ce formulaire a ete cree avec une fonction?

je pensais mettre les $_POST dans la fonction et les renvoyer dans un tableau par exemple mais ca ne marche pas :(

merci!

par ours-blanc- » 16 mars 2007, 17:27

ben le probleme c'est que le nombre de champs varie et je passe ce nombre a la fonction.
la voila:

Code : Tout sélectionner

function init($nbre_champs) { $this->i=0; print("<form name=\"ajout_champs\" method=\"POST\">"); print("<table border=\"2\" align=\"center\"><tr><td>Nom du champ</td><td>Taille</td><td>Type</td></tr>"); print("<tr><td><br /><input type=\"text\" name=\"toto\" size=\"20\" disabled=\"true\" value=\"nom_dico\"></td>"); print("<td><input name=\"taille".$this->i."\" type=\"text\" size=\"10\" /></td><td><select name=\"type".$this->i."\"><option selected=\"true\">Image/Animation</option><option>Texte</option></select>"); print("</td></tr>"); for ($this->i=1;$this->i<$nbre_champs;$this->i++) { print("<tr><td><br /><input name=\"nom".$this->i."\" type=\"text\" size=\"20\" ></td>"); print("<td><input name=\"taille".$this->i."\" type=\"text\" size=\"10\" /></td><td><select name=\"type".$this->i."\"><option selected=\"true\">Image/Animation</option><option>Texte</option></select>"); print("</td></tr>"); } print("</table>"); print("<input type=\"submit\" value=\"Créer le dico\" />"); print("<input type=\"reset\" value=\"Réinitialiser\" />"); print("</form>"); print($_POST["toto"]); }
je genere mes champs selon le nombre passé en parametre et a la fin le print($_POST["toto"]); ne marche pas car meme apres avoir cliquer sur le bouton valider il ne connait pas la valeur de ce champ :(
du coup je sais pas ou mettre le $_POST car dans le script principal ca passe pas non plus. J'ai la solution de supprimer partiellement cette fonction en creant le formulaire dans le script principal mais c'est dommage j'aurais bien aimé y arriver comme ca :(
j'espere avoir ete plus clair.

par Ryle » 16 mars 2007, 16:39

Pas sur d'avoir tout compris à ce que tu voulais faire... mais à priori, je dirais qu'il te faut juste passer en argument de la fonction qui te génère ton formulaire les valeurs par défaut à utiliser dans tes champs :)

formulaire dans fonction d'une classe

par ours-blanc- » 16 mars 2007, 16:30

bonjour, petite question...
J'ai une classe dont une des fonctions crée un formulaire.
J'appelle donc cette fonction dans un script de ma page. mais le probleme c'est est-ce que c'est possible de recuperer les données du formulaire?
parceque si je met le $_POST dans la page il ne connait pas le nom des elements du formulaire et si je met le $_POST dans la fonction c'est la meme chose.
Pouvez vous me dire si c'est possible et comment vous feriez?

merci!!