Formulaire de contact

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 de contact

par dunbar » 28 juin 2009, 00:55

\:D/

par cmoi » 27 juin 2009, 20:53

J'ai finalement trouvé la solution. Il suffisait de remplacer la ligne
$message_remerciement = "Merci pour votre message.";
par la ligne
header("Location: mapage.php");

et de supprimer le second code qui ne sert plus.

En tête de page :
<?php
$email_dest = "mon e-mail";
if ($_POST['envoi']) { 
$message_remerciement = "Merci pour votre message."; 
// E- mail headers: 
$headers ="MIME-Version: 1.0 \n";
$headers .="From: BCCA<mon e-mail>\n";
$headers .="Content-Type: text/html; charset=iso-8859-1 \n"; 
$subject = "votre message";
$partie_entete = "<html><head> 
<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>
</head>
<body bgcolor=#FFFFFF>";
$partie_radiobutton = ""; 
$partie_champs_texte = ""; 
for ($a=1; $a<= $_POST['nbre_radiobutton']; $a++) { 
$partie_radiobutton .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_radio'.$a] . " = " . $_POST['radio'.$a] . "</font> <br>
";
}
for ($a=1; $a<= $_POST['nbre_champs_texte']; $a++) {
$partie_champs_texte .= "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_champ'.$a] . " = " . $_POST['champ'.$a] . "</font><br>
";
}
if ($_POST['nbre_zone_email'] != 0) { 
$partie_zone_email = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_email'] . " = " . $_POST['zone_email'] . "</font><br>
";
}
if ($_POST['nbre_zones_texte'] != 0) {
$partie_zone_texte = "<font face='Verdana' size='2' color='#003366'>" . $_POST['titre_zone'] . " = " . $_POST['zone_texte'] . "</font><br>
";
$partie_zone_texte = stripslashes($partie_zone_texte);
}
$fin = "</body></html>"; 
$sortie = $partie_entete . $partie_radiobutton . $partie_champs_texte . $partie_zone_email . $partie_zone_texte . $fin; 
// Send the e-mail 
if (@!mail($email_dest,$subject,$sortie,$headers)) {
echo("Envoi du formulaire impossible");
} // Closing if !mail... 
} // Closing if edit 
?>
Au niveau du formulaire :
				  <?php 
if ($message_remerciement) { 
echo("<font face=Verdana size=2>"); 
echo(stripslashes($message_remerciement)); 
echo("</p></body></html>"); 
exit(); 
} 
?> 

par albat » 27 juin 2009, 20:48

Envoie le code complet de ta page. :ordi:

par cmoi » 27 juin 2009, 20:27

effectivement, je ne sais pas comment faire fonctionner l'ensemble !

En tête de page j'ai du php avec $message_remerciement = "Merci pour votre message.";
J'enlève carrèment cette ligne, je pense ?

Ce code là je le mets en tête de page
<?php  
if ($message_remerciement) {  
header("Location: http://url ici"); 
}  
?> 


ou bien à la place de
                                        <?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
J'ai essayé les 2. Rien ne va !

par momox » 27 juin 2009, 20:24

... en supposant que se script est ien placé en tête de page,
sinon le header va faire "coin !" :afraid:
C'est pour cela que j'ai parlé de la redirection javascript ;)

par albat » 27 juin 2009, 19:50

... en supposant que se script est ien placé en tête de page,
sinon le header va faire "coin !" :afraid:

par dunbar » 27 juin 2009, 19:29

Salut,

Effectivement comme ceci. :wink:
<?php 
if ($message_remerciement) { 
header("Location: http://url ici");
} 
?> 

par momox » 27 juin 2009, 19:27

Pour rediriger, tu as deux choix, sois renvoyer un entête via la fonction header(); ou imprimer dans ta page un morceau de javascript pour rediriger.
Dans le second cas, cherches "redirection javascript" sur google.

Formulaire de contact

par cmoi » 27 juin 2009, 19:21

Bonjour,

dans les formulaires de contact que j'utilise, j'ai ce code php
                                        <?php
if ($message_remerciement) {
echo("<font face=Verdana size=2>");
echo(stripslashes($message_remerciement));
echo("</p></body></html>");
exit();
}
?>
qui renvoie plus haut vers

Code : Tout sélectionner

$message_remerciement = "Merci pour votre message.";
Est-il possible (sûrement !) de renvoyer vers une page spécifique plutôt que d'afficher "Merci pour votre message." ?

Merci pour vos lumières.