Formulaire PHP

Bonjour,

J'ai enfin réussi à réaliser un formulaire en php, il y a juste un ptit problème à la fin!

J'aimerais que losque l'utilisateur click sur le bouton "envoyer" cela l'emène sur une autre page,
J'ai donc utiliser le code
Header("Location: http://www.crealye.fr/merci.html");

Mais quand je fais un teste, une autre page s'ouvre en disant :
"Warning: Cannot modify header information - headers already sent by (output started at /homez.337/crealye/www/traitement1.php:2) in /homez.337/crealye/www/traitement1.php on line 15
".

Quel est le problème?
Merci
Configuration: Windows Vista / Internet Explorer 7.0

4 réponses

  1. C'est bon ça marche!
    Il fallait que je déplace mon Header sur le première ligne, pour rediriger l'internaute!

    Code : PHP
    <?php
    header("Location: http://www.crealye.fr/merci.html");
    $TO = "titeyes@hotmail.fr";
    $h = "From: " . $TO;
    $message = "";
    while (list($key, $val) = each($HTTP_POST_VARS)) {
    $message .= "$key : $val\n";
    }
    mail($TO, $subject, $message, $h);
    ?>

    Merci beaucoup!!!!
    1. C'est toi qui ne comprends pas.
      "headers already sent" : les entêtes HTTP ont déjà été envoyées, alors tu ne peux plus les modifier avec la fonction header(). Et les entêtes sont envoyées avant le premier caractère (extérieur à "<?php" ou via un echo) ou à la fin de l'exécution de la page.
      Comme tu ne fais aucun echo, il y a sans doute un caractère avant "<?php" (les espaces comptent).
      Regarde si tu es en UTF-8 sans ou avec BOM.
      1. Tu ne peux pas avoir de caractère avant le "<?php" et tu ne dois faire aucun echo/print(f)
        1. Je pense q'on ne se comprends pas bien!
          Donc je reprends.
          J'ai réaliser un formulaire en PHP.

          Avec ma pages HTML:
          <form method=POST action=traitement1.php >
          <input type=hidden name=subject value=formulaire>
          <font face="century gothic" size="2" color="#ffffff">Votre email :<br>
          <input type="text" name="email" value=""><br><br></font>
          <font face="century gothic" size="2" color="#ffffff">Votre sujet :<br>
          <input type="text" name="sujet" value=""><br><br></font>
          <font face="century gothic" size="2" color="#ffffff">Votre message :<br>
          <textarea name="texte" id="zone de texte" cols="45" rows="5"></textarea></font>
          <div id="bouton">
          <INPUT type="reset" name="Effacer" value="Effacer">
          <INPUT type="submit" name="envoyer" value="Envoyer">
          </div>
          </form>

          Et ma page PHP:
          <?php
          $TO = "titeyes@hotmail.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://www.crealye.fr/merci.html");
          ?>

          J'aimerais lorsque l'utilisateur click sur envoyer, cela l'amène à la page http://www.crealye.fr/merci.html.
          J'ai donc utiliser Header("Location: http://www.crealye.fr/merci.html"); mais cela ne fonctionne pas.

          Merci pour votre aide
      2. en fait tu choisit la page ou ton utilisateur est envoyé dans la déclaration du formulaire:
        <form method="get" action="TA_PAGE.php" >
        1. Oui, ma page PHP fonctionne.
          Mais ce que j'aimerais ce que lorsque l'utilisateur click sur envoyer cela le remène au site. Tandis que là, lorsqu'on click sur envoyer on a une page d'erreur qui s'affiche.
          Sinon j'ai bien mon formulaire qui s'envoie!