Retour apres un envoi de formulaire

prunetyves Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
Adri1infos Messages postés 628 Date d'inscription   Statut Membre Dernière intervention   -
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 628 Date d'inscription   Statut Membre Dernière intervention   296
 
Bonjour,
Peux-tu donner ton code (diminué, juste la partie qui nous intéresse) ?
0
prunetyves Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   2
 
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 628 Date d'inscription   Statut Membre Dernière intervention   296
 
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   Statut Membre Dernière intervention   2
 
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 628 Date d'inscription   Statut Membre Dernière intervention   296
 
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   Statut Membre Dernière intervention   2
 
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 628 Date d'inscription   Statut Membre Dernière intervention   296
 
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