Créer condition de redirection page PHP
chris-asjeme
Messages postés
780
Date d'inscription
Statut
Membre
Dernière intervention
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
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 :
j'ai déjà une condition pour la réussite de l'envoi du mail :
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é
Merci d'avance,
Chris
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:
- Créer condition de redirection page PHP
- Comment créer un groupe whatsapp - Guide
- Créer un compte google - Guide
- Impossible de supprimer une page word - Guide
- Créer une page facebook - Guide
- Créer un lien pour partager des photos - Guide
1 réponse
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'); } ?>