Redirection

Résolu/Fermé
jimmy_25620 Messages postés 3 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 26 mars 2015 - 26 mars 2015 à 15:03
jimmy_25620 Messages postés 3 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 26 mars 2015 - 26 mars 2015 à 16:40
Bonjour,

J'ai lu des tonnes de post sur les formulaires de contact, mais je bloque sur un point.
J'ai créé un formulaire en HTML, le style est géré en CSS, le traitement en PHP, tout fonctionne.
Mais voilà, en fin de traitement, le visiteur se retrouve sur une page blanche, dans la barre d'adresse, l'adresse du site/traitement.php
J'ai ajouté une msgbox pour confirmer au visiteur que le message a bien été envoyé, cela fonctionne également.
Pouvez-vous jeter un oeil sur le code pour me dire comment éviter cette page blanche et rediriger le visiteur vers la page site.fr/contact après le message de validation ?
D'avance, je vous remercie pour votre aide.

<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['email']) && isset($_POST['message'])){
if(!empty($_POST['nom']) && !empty($_POST['email']) && !empty($_POST['message'])){
$destinataire = "jimmy.maerten@gmail.com";
$sujet = "Demande de contact";
$message = "Nom : ".$_POST['nom']."\r\n
prenom : ".$_POST['prenom']."\r\n
tél : ".$_POST['tel']."\r\n
mail : ".$_POST['email']."\r\n
Message : ".$_POST['message']."\r\n";

$entete = 'From: '.$_POST['email']."\r\n".
'Reply-To: '.$_POST['email']."\r\n".
'X-Mailer: PHP/'.phpversion();

if (mail($destinataire,$sujet,$message,$entete)){
echo "<script type=\"text/javascript\"> alert(\"Votre message a correctement été envoyé\"); </script>";
} else {
echo "Une erreur est survenue lors de l'envoi du formulaire par email";
}
}
}
?>
A voir également:

2 réponses

Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
26 mars 2015 à 15:26
Bonjour,

pour la redirection voici une commande php
par exemple:
header("Location: index.php");

Cordialement
0
jimmy_25620 Messages postés 3 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 26 mars 2015
26 mars 2015 à 15:33
Je te remercie pour la rapidité de ta réponse.
Petit problème, j'ai déjà essayé cette méthode : le message de confirmation ne s'affiche pas quand je mets les 2 lignes de commande en même temps... Du coup, il se retrouve sur la page de formulaire (ou l'index) sans être certain que son message a bien été envoyé. Une idée pour combiner les 2 ordres (message de confirmation puis redirection) ?
Merci pour ton aide
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
26 mars 2015 à 15:39
normal,
la redirection est automatique.
Une solution:
<?php 
header ("Refresh: 5;URL=index.php");
// Redirection vers index.php après un délai de 5 secondes
// durant lesquelles la page actuelle est affichée
?>
0
jimmy_25620 Messages postés 3 Date d'inscription mardi 4 décembre 2012 Statut Membre Dernière intervention 26 mars 2015
26 mars 2015 à 16:40
Super, là au moins j'ai les 2 : msgbox + redirection. Un grand merci pour ton aide !
0
Thorak83 Messages postés 1051 Date d'inscription jeudi 20 juin 2013 Statut Membre Dernière intervention 22 décembre 2017 156
26 mars 2015 à 15:42
autre solution

Utiliser le header("Location: index.php?envoi=ok"); qui va rediriger automatiquement vers index.php avec une variable et dans index.php tester si la variable envoi contient "ok" est si oui afficher le message a ce moment la.
0