Créer condition de redirection page PHP

Fermé
chris-asjeme Messages postés 780 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 22 décembre 2014 - 2 janv. 2010 à 18:13
avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 - 2 janv. 2010 à 18:53
Bonjour,

Je souhaiterai rediriger une page de mon site vers l'accueil. Je m'explique :
J'ai un formulaire de contact qui renvoi vers une page envoi.php en affichant un message de confirmation si le mail à bien été envoyé.
Mais je voudrai que le visiteur soit redirigé vers la page d'accueil (index.php) si son mail a bien été envoyé ou vers le formulaire de contact (contact.php) si cela a échoué.
Le seul problème c'est que mon header est situé sur une page haut.php qui est appelée par une include sur chaque page. Donc je ne peut pas mettre la ligne suivante entre les balises du header :
<meta http-equiv="refresh" content="10; URL=index.php">


j'ai déjà une condition pour la réussite de l'envoi du mail :
if (mail($destinataire,$subject,$body,$headers)) 
{ 
echo "<center>Félicitation $nom !<br />Votre demande a été transmise avec succès.<br />
		Chris s'efforcera de vous répondre rapidement à $mail </center>"; 
} 
else 
{ 
echo "<center>Désolé $nom !<br /> Malheureusement votre demande n'a pu être transmise.</center>"; 
}


mais je ne sais pas comment organiser cette redirection.. J'aurai besoin d'un ptit coup de pouce parce que je suis débutant en PHP.
Je crois savoir que les redirections se font normalement dans le header car sinon j'aurai simplement rajouté
header('Location: index.php');
pour la première condition et
header('Location: contact.php');
pour la 2e.

Merci d'avance,
Chris
A voir également:

1 réponse

avion-f16 Messages postés 19252 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 10 février 2025 4 505
2 janv. 2010 à 18:53
Tu peux stocker le message dans une variable de session, l'afficher sur la page de redirection, puis vider cette variable. Ou ajoute une variable get dans l'url de redirection.

<?php
session_start();

// Vérifications des données

if (mail($destinataire,$subject,$body,$headers)) { 
	$_SESSION['message'] = '<p style="text-align:center;">Félicitation $nom !<br />Votre demande a été transmise avec succès.<br />';
	$_SESSION['message'] .= 'Chris s\'efforcera de vous répondre rapidement à '.$mail.'</p>';
	header('Location: index.php');
} else { 
	$_SESSION['message'] = '<p style="text-align:center;">Désolé '.$nom.' !<br />Malheureusement votre demande n\'a pu être transmise.</p>';
	header('Location: contact.php');
} ?>
0