Aller au contenu

Mail et passage de params


Sujets conseillés

Posté

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...

Posté

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 ?

Posté

Mon prénom n'est pourtant pas Jeanne...? Pourquoi me suis-je dit qu'au-delà de 7 paramètres...? :blink:

Comment est construite ma page ?

Comme ceci:

contact.php

<?php
include ("valid.php");   // classe de test

// appel à la classe pour test des champs
if ($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

Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...