Redirection

Résolu
jimmy_25620 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
jimmy_25620 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   156
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   156
 
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   Statut Membre Dernière intervention  
 
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   Statut Membre Dernière intervention   156
 
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