Discussion:
Renvoi d'une page en html
(trop ancien pour répondre)
GanaWeb
2010-09-14 10:14:06 UTC
Permalink
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 ?
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
Olivier Miakinen
2010-09-14 15:24:06 UTC
Permalink
Bonjour,
Post by GanaWeb
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");
Post by GanaWeb
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 :
<http://fr2.php.net/manual/fr/ref.outcontrol.php>

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
Continuer la lecture sur narkive:
Loading...