xpatval Posté 15 Mai 2005 Posté 15 Mai 2005 Bonjour,nuit, Ma problématique est la suivante: Un formulaire d'envoi de mail, dont le nombre de champs dépasse le chiffre de 7. Pour la validation, j'utilise une classe, permettant de tester en php. Jusque là, tout va bien. Ensuite, si le résultat de cette validation est ok, c'est un header("location..") qui envoie les infos. Tout cela tient sur une seule page, une deuxième servant à traiter l'envoi à proprement parlé. Bien entendu, étant donné qu'il y a plus de 7 champs à renseigner, je ne peux utiliser le passage de paramètres habituel, à cette deuxième page. Donc, les params en question sont stockés dans un tableau, puis serializés et urlencodés. Question: sur les 8 champs (admettons qu'il peut y en avoir 8 au maximum), 6 sont obligatoires. Comment feriez-vous pour "router" les bons paramètres vers les bonnes variables ? xpatval Ps: si ma clarté d'explication vous donne de l'urticaire, n'hésitez pas à le dire...
Anonymus Posté 16 Mai 2005 Posté 16 Mai 2005 Bonjour, tu peux passer autant de paramètres que tu veux, tu n'es pas limité à 6, 7 ou 8. Comment est construite ta page ?
xpatval Posté 16 Mai 2005 Auteur Posté 16 Mai 2005 Mon prénom n'est pourtant pas Jeanne...? Pourquoi me suis-je dit qu'au-delà de 7 paramètres...? Comment est construite ma page ? Comme ceci: contact.php <?phpinclude ("valid.php"); // classe de test// appel à la classe pour test des champsif ($f ==1 ) { $formPrenom = $test->secure($_POST['Prenom']); ..... // Conditions réunies, appel à envoi_mail.php pour l'envoi du mail. if ($test->Count==0) { header("location: envoi-mail.php?Telephone=". $Telephone ."&Mail=". $Mail ."&Sujet=". $Sujet ."&Commentaires=". $Commentaires ."&Nom=". $Nom ."&Prenom=". $Prenom ."&Adresse=". $Adresse ."&Societe=". $Societe); } }?>// mise en page du formulaire <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>...</html> Voilà le principe. xpatval
Anonymus Posté 17 Mai 2005 Posté 17 Mai 2005 En fait, tu devrais gérer l'envoi de mails avec un 'include', au lieu d'un 'header'. Ca serait '~mieux~'. Pour chaque variable que tu passes dans l'url, il te faut executer la fonction 'urlencode'. Ensuite, lorsque tu récupères ces variables, tu fais l'inverse, à savoir : 'urldecode'. Le principe est de formatter les variables pour qu'elles puissent être passées dans l'url, c'est cette fonction qui remplace les espaces par des %20,.. Pour faire ce que tu veux, tu as aussi la possibilité de passer par une base de données (a l'avantage que tu gardes les mails en stock), ou tu peux faire appel aux sessions, etc.. Mais à mon avis tu devrais gérer ceci avec des 'include'. (j'me repète, là, non ? ) Anonymus.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant