Jonat
Août 9, 2010, 4:32
1
Bonjour tout le monde
// Envoi du mail
if (mail($cible, $objet, $message, $headers))
{
//echo '<p>'.$message_envoye.'</p>'."\n";
header('Location: http://www.domaine.tld/index.php?page=message_envoye');
}
else
{
echo '<p>'.$message_non_envoye.'</p>'."\n";
};
Avant ce morceau de code j’ai un session_start() donc je ne peux pas faire de redirection à la place d’echo en PHP (erreur headers already sent by…)
Ma question est la suivante : comment faire cette redirection ?
Merci d’avance
Edité le 10/08/2010 à 21:13
Jonat
Août 9, 2010, 9:47
2
Je viens de trouver une solution, mais est-ce propre ?
J’ai remplacé le texte dans la variable message_envoye par :
<meta http-equiv='refresh' content='0;URL=http://www.domaine.tld/site/index.php?page=message_envoye'>
Edité le 10/08/2010 à 21:38
Jonat
Août 10, 2010, 5:31
3
A efffacer
Edité le 10/08/2010 à 21:12
Hum, pour moi le session_start() ne fait pas de sortie, et le header() devrait fonctionner… sauf si bien sûr tu as laissé trainer des echo/print/truc hors <?php ?>. Accessoirement, la solution du meta, n’est pas top je trouve -> autant envoyer sur la bonne page directement dans le formulaire, et afficher un message “propre” en fonction du cas (envoi OK, envoi KO).
Sans-Nom:
Hum, pour moi le session_start() ne fait pas de sortie, et le header() devrait fonctionner… sauf si bien sûr tu as laissé trainer des echo/print/truc hors <?php ?>. Accessoirement, la solution du meta, n’est pas top je trouve -> autant envoyer sur la bonne page directement dans le formulaire, et afficher un message “propre” en fonction du cas (envoi OK, envoi KO).
Tout a fait, header ne gène pas le session start. Faut vérifier si tu ne fait pas appel à header avant
FodZy
Août 25, 2010, 11:55
6
Il y a une solution sinon, c’est d’utiliser la fonction de gestion de temporisation de sortie de php :
php.net…