Renvoi d'une page en html

Le
GanaWeb
Bonjour à tousJ'ai un formulaire en php qui à la fin retourne un
message.
J'aimerais qu'à la place de retourner un message, il retourne sur une
page de remerciement en php.
Est-ce possible ?
Voilà le bout de code que j'aimerais changer:
if (mail($destinataire,$subject,$codehtml,$headers)) {
echo "Votre mail a bien été envoyé, nous allons vous répondre des que
possible. Merci.";
} else {
echo "Désolé Le serveur n'a pas pu lire votre message";
}
?>
Comment faire pour envoyer autre chose que la phrase "Votre mail a
bien"
Je ne suis qu'un débutant de 67 ans Essayez donc d'être le plus
explicite possible.
D'avance, merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #22569481
Bonjour,

Le 14/09/2010 12:14, GanaWeb a écrit :
Bonjour à tous...J'ai un formulaire en php qui à la fin retourne un
message.
J'aimerais qu'à la place de retourner un message, il retourne sur une
page de remerciement en php.
Est-ce possible ?



Oui, de plusieurs façons possibles, à condition que tu n'aies pas
commencé à renvoyer de code HTML.

L'une des façons est tout simplement :
include("autrepage.php");
exit();

L'autre est une redirection (penser à mettre l'URL en entier) :
header("Location:http://www.example.com/path/autrepage.php");

Voilà le bout de code que j'aimerais changer:
if (mail($destinataire,$subject,$codehtml,$headers)) {
echo "Votre mail a bien été envoyé, nous allons vous répondre des que
possible. Merci.";
} else {
echo "Désolé... Le serveur n'a pas pu lire votre message...";
}
?>



Vu la première branche du if(), il semble que tu aies déjà renvoyé le
début de la page HTML. Pour ne pas tout changer, il faudrait bufferiser
le début de la page, mais c'est un peu plus complexe à expliquer et il
vaudrait mieux que tu joignes le code complet.

Juste pour mémoire, la doc est ici :

Et ce serait un truc du genre :
<?php ob_start(); /* commence la bufferisation */ ?>
... ici le début de ton code actuel ...
if (mail($destinataire,$subject,$codehtml,$headers)) {
ob_end_flush(); /* affiche et termine la bufferisation */
echo "Votre mail a bien été envoyé";
} else {
/* annule la bufferisation et appelle la nouvelle page */
ob_end_clean();
include("autrepage.php");
exit();
}
... ici la fin de ton code ...

Cordialement,
--
Olivier Miakinen
Publicité
Poster une réponse
Anonyme