Retour apres un envoi de formulaire

Fermé
prunetyves Messages postés 17 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 4 juin 2020 - 6 avril 2016 à 17:38
Adri1infos Messages postés 625 Date d'inscription mardi 31 mars 2015 Statut Membre Dernière intervention 27 février 2020 - 7 avril 2016 à 20:58
Bonjour à tous,
j’envoie un formulaire par la méthode POST associé a un fichier PHP
tout fonctionne correctement mais une fois le mail envoyé je ne revient pas sur ma page d’accueil malgré l'instruction HEADER("location: index.html");
j'ai même essayé de l'envoyer vers le site de Google mais rien ne fonctionne
quelqu'un a une idée ?
merci !



4 réponses

Adri1infos Messages postés 625 Date d'inscription mardi 31 mars 2015 Statut Membre Dernière intervention 27 février 2020 291
6 avril 2016 à 17:51
Bonjour,
Peux-tu donner ton code (diminué, juste la partie qui nous intéresse) ?
0
prunetyves Messages postés 17 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 4 juin 2020 2
6 avril 2016 à 18:21
le php en question :
<?php
$TO = "xxxxx@yyyy.com";

$h = "From: " . $TO;

$message = "";
$subject= "Demande de renseignement via le site";

$message = "SOCIETE : ".$_POST['societe']."\n";
$message .= "NOM : ".$_POST['nom']."\n";
$message .= "MAIL : ".$_POST['email']."\n\n";
$message .= "MESSAGE : ". $_POST['comments'];

mail($TO, $subject, utf8_decode($message), $h);

header("location: https://www.google.com/?gws_rd=ssl");


?>


et la partie HTML

<form method=POST action=envoi_mail.php >

Merci !
0
Adri1infos Messages postés 625 Date d'inscription mardi 31 mars 2015 Statut Membre Dernière intervention 27 février 2020 291
Modifié par Adri1infos le 6/04/2016 à 22:47
Il te manque des "actions", en gros ton code ne comprend pas à quel moment il faut qu'il redirige. Faut que tu précise que SI le mail est envoyé ALORS il redirige.
Met en dessous de la création de mail :
$envoi=mail($TO, $subject, $message, $h); 
if($envoi) header("location: http://www.google.com");
else echo"ERREUR";
0
prunetyves Messages postés 17 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 4 juin 2020 2
6 avril 2016 à 23:17
Ca ne marche toujours pas, j'ai toujours une page blanche. voila le code modifié :
<?php
$TO = "xxxx@yyyy.com";

$h = "From: " . $TO;

$message = "";
$subject= "Demande de renseignement via le site";

$message = "SOCIETE : ".$_POST['societe']."\n";
$message .= "NOM : ".$_POST['nom']."\n";
$message .= "MAIL : ".$_POST['email']."\n\n";
$message .= "MESSAGE : ". $_POST['comments'];

$envoi=mail($TO, $subject, utf8_decode($message), $h);

if($envoi) header("location: https://www.google.com/?gws_rd=ssl");
else echo"ERREUR";



?>
0
Adri1infos Messages postés 625 Date d'inscription mardi 31 mars 2015 Statut Membre Dernière intervention 27 février 2020 291
Modifié par Adri1infos le 7/04/2016 à 10:11
Avec ce code tu n’envoie pas de mail (enfin je pense : recevais-tu un mail ?) ;-) j'ai bien précisé "en dessous de la création du mail", ton code devrait ressembler à ceci :
<?php
$TO = "xxxx@yyyy.com";

$h = "From: " . $TO;

$message = "";
$subject= "Demande de renseignement via le site";

$message = "SOCIETE : ".$_POST['societe']."\n";
$message .= "NOM : ".$_POST['nom']."\n";
$message .= "MAIL : ".$_POST['email']."\n\n";
$message .= "MESSAGE : ". $_POST['comments'];

mail($TO, $subject, utf8_decode($message), $h); 

$envoi=mail($TO, $subject, utf8_decode($message), $h);

if($envoi) header("location: http://www.google.com");
else echo"ERREUR";

?>
0
prunetyves Messages postés 17 Date d'inscription dimanche 17 juillet 2011 Statut Membre Dernière intervention 4 juin 2020 2
7 avril 2016 à 18:43
hello,

je recois bien le message, pas de problème pour cela, mais c'est juste qu'ensuite je passe sur une page blanche.
Néanmoins j'ai appliqué ton code mais c'est toujours pareil (sauf que je reçois deux fois le message :) )
0
Adri1infos Messages postés 625 Date d'inscription mardi 31 mars 2015 Statut Membre Dernière intervention 27 février 2020 291
7 avril 2016 à 20:58
Ok dsl, j'ai vérifier, pas besoin de répéter deux fois l'action d'envoi du mail, le code php fonctionnel est :
<?php
$TO = "xxx@xxx.com";

$h = "From: " . $TO;

$message = "";
$subject= "Demande de renseignement via le site";

$message = "SOCIETE : ".$_POST['societe']."\n";
$message .= "NOM : ".$_POST['nom']."\n";
$message .= "MAIL : ".$_POST['email']."\n\n";
$message .= "MESSAGE : ". $_POST['comments'];

$envoi=mail($TO, $subject, utf8_decode($message), $h);

if($envoi) header("location: http://www.google.com");
else echo"ERREUR";

?>

Il fonctionne très bien (la redirection etc...).
Tu teste bien ton formulaire en ligne ?
0