Prb avec HEADERS envoi formulaire
Résolu
eric931
Messages postés
5
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
J'ai créé un formulaire, je reçois bien les infos sur mon email mais impossible que l'utilisateur soit bien redirigé après avoir cliqué sur suivant.
Voici le message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/public_html/formmail.php:1) in /home/xxxxx/public_html/formmail.php on line 15
Mon code html
<div align="center"><form action="formmail.php" method="POST"><input type="hidden" name="subject" value="formmail" />
<table>
<tbody>
<tr>
<td>Prénom <span style="color: #ff3333;">*</span> :</td>
<td><input type="text" name="realname" size="30" /></td>
</tr>
</tbody>
</table>
<br> <input type=submit value=Suivant>
<input type=reset value=Annuler>
</form>
</div>
Mon fichier formmail.php
<?php
$TO = "xxxxx@yahoo.fr";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://xxxxxx.com/?page_id=35");
?>
Quelle est le problème ?
Merci d'avance
J'ai créé un formulaire, je reçois bien les infos sur mon email mais impossible que l'utilisateur soit bien redirigé après avoir cliqué sur suivant.
Voici le message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /home/xxxxx/public_html/formmail.php:1) in /home/xxxxx/public_html/formmail.php on line 15
Mon code html
<div align="center"><form action="formmail.php" method="POST"><input type="hidden" name="subject" value="formmail" />
<table>
<tbody>
<tr>
<td>Prénom <span style="color: #ff3333;">*</span> :</td>
<td><input type="text" name="realname" size="30" /></td>
</tr>
</tbody>
</table>
<br> <input type=submit value=Suivant>
<input type=reset value=Annuler>
</form>
</div>
Mon fichier formmail.php
<?php
$TO = "xxxxx@yahoo.fr";
$h = "From: " . $TO;
$message = "";
while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}
mail($TO, $subject, $message, $h);
Header("Location: http://xxxxxx.com/?page_id=35");
?>
Quelle est le problème ?
Merci d'avance
8 réponses
-
Salut,
L'erreur dit en gros que quelque chose est renvoyé avant la redirection, soit du code html, du texte, un echo ou autre...
Quand on utilise "Header Location", il faut que rien ne soit renvoyé avant! -
Ok mais qu'est ce qui est envoyé et surtout comment corrigé le problème ??
-
Es-tu certain que tu n'as rien dans ton fichier "formmail.php" qui précède ton "<?php" (y compris espace et saut de ligne) ?
-
Je viens de vérifier et aucun espace ou saut de ligne dans mon formmail.php
Je ne sais vraiment pas quoi faire.
Si qq'un a une idée de ce qui pourrait clocher ?? -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bon, j'ai vérifié scrupuleusement le code RAS
J'ai lu tous les posts de personnes ayant le meme problème et j'ai pas la solution.
J'en ai mal à la tête.... -
Bonjour
Si ton éditeur de texte est en utf8, vérifie que tu travailles bien SANS BOM . Le BOM (Byte order mark) consiste en 2 ou 3 caractères invisibles qui sont placés en tout début de fichier, avant le <?php -
Bonjour Le Père,
J'ai l'air presque stupide mais c'était bien le problème, j'étais en UTF8.
Un grand merci à toi. -
Ça n'a rien de stupide.
Attention ! Ce n'est pas l'UTF8 qui est un problème, c'est le BOM. Il faut travailler SANS BOM, mais si tu as choisi de faire ton site en utf8, continue.