Page 1 sur 1

formulaire de contact avec 2 action dans le form

Posté : 18 mars 2016, 18:27
par fabienzen
Bonjour à tous

Je vous expose mon problème
J'ai besoin d'un formulaire de contact pour mon site que je partage avec d'autre personnes.
j'ai trouvé un bout de script qui correspond a une partie de mes besoins, c'est a dire recevoir un mail sur ma boite perso quand une personne clique sur le bouton envoyer, par contre sur mon 2ème besoin est que en parallèle cela envoie également vers un autorepondeur.
J'explique pourquoi ces 2 actions en simultanées: c'est un formulaire sur une page de capture et que dans le code chacun va mettre son propre mail et que l'envoi est sur un autorepondeur commun avec une série de mail de relance pour tous les contacts générés mais dont le service est commun.

Donc mon soucis est de pouvoir inclure cela comme 2eme action quand la personne clique sur le bouton envoyer

Voici le code que j'ai:
<?php
// Couleur du texte des champs si erreur saisie utilisateur
$color_font_warn="#FF0000";
// Couleur de fond des champs si erreur saisie utilisateur
$color_form_warn="#FFCC66";
// Ne rien modifier ci-dessous si vous n’êtes pas certain de ce que vous faites !
if(isset($_POST['submit'])){
	$erreur="";
	// Nettoyage des entrées
	while(list($var,$val)=each($_POST)){
	if(!is_array($val)){
		$$var=strip_tags($val);
	}else{
		while(list($arvar,$arval)=each($val)){
				$$var[$arvar]=strip_tags($arval);
			}
		}
	}
	// Formatage des entrées
	$f_1=trim(ucwords(eregi_replace("[^a-zA-Z0-9éèàäö\ -]", "", $f_1)));
	$f_2=strip_tags(trim($f_2));
	// Verification des champs
	if(strlen($f_1)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Votre nom &raquo; est vide ou incomplet.</span>";
		$errf_1=1;
	}
	if(strlen($f_2)<2){
		$erreur.="<li><span class='txterror'>Le champ &laquo; Votre email &raquo; est vide ou incomplet.</span>";
		$errf_2=1;
	}else{
		if(!ereg('^[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+'.
		'@'.
		'[-!#$%&\'*+\/0-9=?A-Z^_`a-z{|}~]+\.'.
		'[-!#$%&\'*+\./0-9=?A-Z^_`a-z{|}~]+$',
		$f_2)){
			$erreur.="<li><span class='txterror'>La syntaxe de votre adresse e-mail n'est pas correcte.</span>";
			$errf_2=1;
		}
	}
	if($erreur==""){
		// Création du message
		$titre="Nouvelle inscrition sur votre page";
		$tete="From:[email protected]/votrepseudo/\n";
		$corps.="Felicitations, une nouvelle personne s\'est inscrite sur votre page de capture  : \n \n";
		$corps.="Le nom de la personne : ".$f_1."\n";
		$corps.="Son email : ".$f_2."\n \n";
		$corps.="Felicitations  \n \n";
		if(mail("[email protected]", $titre, stripslashes($corps), $tete)){
			$ok_mail="true";
		}else{
			$erreur.="<li><span class='txterror'>Une erreur est survenue lors de l'envoi du message, veuillez refaire une tentative.</span>";
		}
	}
}
?>
et le code que j'ai de mon fournisseur d'autorepondeur
<form class="form-horizontal" method="post" action="http://www.gogvo.com/subscribe.php">
                                <input type="hidden" name="CampaignCode" value="5ef9f2abddc0">
                                <input type="hidden" name="FormId" value="6985287">
                                <input type="hidden" name="PassFormData" value="1">
                                <input type="hidden" name="AffiliateName" value="12345">
Merci de votre aide

Re: formulaire de contact avec 2 action dans le form

Posté : 18 mars 2016, 18:34
par @rthur
Bonjour,

Regarde dans la doc de la fonction mail()
Il y a des exemples avec les entêtes à mettre pour mettre un destinataire en copie (CC) ou copie caché (BCC)
http://fr.php.net/mail

Re: formulaire de contact avec 2 action dans le form

Posté : 18 mars 2016, 18:41
par fabienzen
la fonction envoie du mail marche, ca correspond a mon besoin
je viens de regarder, donc il me suffirait de rajouter un truc du genre ?
$headers action="http://www.gogvo.com/subscribe.php">

ce que je voudrai c'est que quand la personne clique sur le bouton envoyer,
cela active l'action form action='<? echo $PHP_SELF ?>'
et également l'action : action="http://www.gogvo.com/subscribe.php"

Re: formulaire de contact avec 2 action dans le form

Posté : 18 mars 2016, 19:33
par @rthur
Ah non, ça ce n'est pas possible, il ne peut y avoir qu'une seule page de destination.

Après je n'ai pas compris à quoi te servait tes 2 pages

Re: formulaire de contact avec 2 action dans le form

Posté : 18 mars 2016, 19:50
par fabienzen
c'est pour une page de capture a dispo pour un ensemble de personnes avec modification du champ mail dans le code pour chaque personne, ce qui fonctionne sans soucis, ils reçoivent un mail a chaque nouvel inscrit par leur page
dans ce code: if(mail("[email protected]"
et la 2eme action est l'envoi des infos sur un autorepondeur pour l'envoi de mails de relance neutres aux contacts de chaque personne

ou si l'on prends le problème dans l'autre sens, la personne valide le formulaire en cliquant sur le bouton envoyer ce qui a pour action d'être redirigé vers l'autorepondeur et que par la meme action, le propriétaire de la page de capture reçoive un mail disant qu'une personne s'est inscrite sur sa page

Re: formulaire de contact avec 2 action dans le form

Posté : 21 mars 2016, 13:05
par Ryle
Bonjour,

Ton formulaire ne peut pas être soumis à deux scripts à la fois, mais rien ne t'empêche d'effectuer deux traitements dans ton script. Tu peux ainsi envoyer ton mail avec mail() et une fois que cela est fait, utiliser la fonction header('Location: .... ') pour rediriger l'utilisateur vers une autre page, un autre site, ... :)

Re: formulaire de contact avec 2 action dans le form

Posté : 21 mars 2016, 16:28
par or 1
ou envoyer le formulaire à ton script à toi en javascript, et laisser faire le cours normal de la soumission vers l'autre page.