Formulaire de contact

Bonjour,
j'ai fait pour mon site un formulaire de contact à l'aide d'un site que j'ai trouvé dans les archives de Comment ça marche (radservebeer.free.fr).

Le soucis que j'ai est que, alors que je reçois correctement le message à l'adresse que j'ai indiquée, sur mon site la page de remerciements qui devrait s'afficher ne s'affiche pas, j'ai ceci:

Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html:18) in /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html on line 49

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html:18) in /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html on line 49

Warning: Cannot modify header information - headers already sent by (output started at /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html:18) in /home/web/clients/mllesophiechl26.hostarea.org/www/pagecontact.html on line 108

Je comprend pas ce que cela veux dire. Merci de votre aide.
Configuration: Windows Vista
Firefox 3.0.5

6 réponses

  1. Contributeur
    je viens de te le refaire !! il fonctionne
    http://radservebeer.free.fr/demorad/formu.php

    voila le code
    <?php
    
    // On vérifie si la fonction ini_set() a été désactivée...
    $desactive = ini_get('disable_functions');
    if (preg_match("/ini_set/i", "$desactive") == 0) {
    // Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
    ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
    }
    
    // Vérifier que le formulaire a été envoyé...
    if (isset($_POST['envoi'])) {
    
    
    //On commence une session pour enregistrer les variables du formulaire...
    
    session_start();
    
    $_SESSION['champ1'] = $_POST['champ1'];
    $_SESSION['champ2'] = $_POST['champ2'];
    $_SESSION['liste1'] = $_POST['liste1'];
    
    //Enregistrement des zones de texte...
    $_SESSION['zone_texte1'] = $_POST['zone_texte1'];
    
    // Définir l\'icone apparaissant en cas d\'erreur...
    
    
    // Définir sur 0 pour afficher un petit x de couleur rouge.
    // Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
    // Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
    // ce dernier devant se trouver au même niveau que votre formulaire...
    $flag_icone = 0;
    
    // On vérifie si $flag_icone est défini sur 0 ou 1...
    if ($flag_icone == 0) {
    $icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
    } else {
    $icone = "<img src=\"images/icone.gif\"";
    }
    
    // Définir l'indicateur d'erreur sur zéro...
    $flag_erreur = 0;
    // N'envoyer le formulaire que s'il n'y a pas d'erreurs...
    if ($flag_erreur == 0) {					
    
    // Addresse de réception du formulaire
    $email_dest = "mllesophie-c.l@hotmail.fr";
    $sujet = "visiteur 100% nature";
    $entetes ="MIME-Version: 1.0 \n";
    	$entetes .="From: contact 100% nature<mllesophie-c.l@hotmail.fr>\n";
    	$entetes .="Return-Path: contact 100% nature<mllesophie-c.l@hotmail.fr>\n";
    	$entetes .="Reply-To: contact 100% nature<mllesophie-c.l@hotmail.fr>\n";
    	$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
    	$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";
    
    
    //Partie HTML de l'e-mail...
    $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre Nom/Pseudonyme  = " . $_SESSION['champ1'] . "</font><br>\n";
    $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Titre de votre message = " . $_SESSION['champ2'] . "</font><br>\n";
    $partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Sujet de votre message = " . $_SESSION['liste1'] . "</font><br>\n";
    $partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre message = " . $_SESSION['zone_texte1'] . "</font><br>\n";
    					
    
    					// Fin du message HTML
    					$fin = "</body></html>\n\n";
    					
    					$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;
    
    
    					// Send the e-mail
    					if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
    					echo("Envoi du formulaire impossible");
    					exit();
    					} else {
    
                        // Rediriger vers la page de remerciement
                        header("Location:remerciements.html");
                        exit();
                      } // Fin else
    			    } // Fin du if ($flag_erreur == 0) {
    			} // Fin de if POST
    ?>
    <html>
    <!-- 
    Assistant de création de formulaires PHP pour les nuls - Version gratuite 1.6
    Auteur : Frédéric Ménard (assistant@f1-fantasy.net)
    Site : http://www.f1-fantasy.net/assistant
     -->
    <head>
    <title>Formulaire</title><script language="JavaScript">
    
    
    function verifSelection() {
    
    
    if (document.mail_form.champ1.value == "") {
    alert("Vous n\'avez pas mis votre nom/pseudonyme")
    return false
    } 
    
    if (document.mail_form.champ2.value == "") {
    alert("Vous n\'avez pas donné de titre à vore message")
    return false
    } 
    
    if (document.mail_form.liste1.value == "") {
    alert("Vous n\'avez pas choisi de sujet")
    return false
    } 
    
    if (document.mail_form.zone_texte1.value == "") {
    alert("Votre message est vide")
    return false
    } 
    
    } // Fin de la fonction
    </script>
    </head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
        de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td height="16"><div align="center">
      <font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
    if ($erreur_champ1) {
    	  echo(stripslashes($erreur_champ1));
    	  } else {
    if ($erreur_champ2) {
    	  echo(stripslashes($erreur_champ2));
    	  } else {
    if ($erreur_liste1) {
    	  echo(stripslashes($erreur_liste1));
    	  } else {
    if ($erreur_texte1) {
    	  echo(stripslashes($erreur_texte1));
    	  } else {
    } // Fin du else...
    } // Fin du else...
    } // Fin du else...
    } // Fin du else...
    ?>
        </strong></font>
        </div></td>
          </tr>
        </table>
    <p align="center"></p><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Votre Nom/Pseudonyme </font></div></td>
    	  <td align="center" valign="middle" width="30">
          <?php
    	  if ($erreur_champ1) {
    	  echo($icone);
    	  }
    	  ?>
          </td>
          <td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Titre de votre message</font></div></td>
    	  <td align="center" valign="middle" width="30">
          <?php
    	  if ($erreur_champ2) {
    	  echo($icone);
    	  }
    	  ?>
          </td>
          <td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
        </tr></table><table width="566" border="0" align="center"><tr>
          <td width="140"><div align="right"><font face="Verdana" size="2">Sujet de votre message</font></div></td>
          <td width="30" align="center" valign="middle">
    	  <?php
    	  if ($erreur_liste1) {
    	  echo($icone);
    	  }
    	  ?>
    	  </td>
          <td><select name="liste1" style="width:146"><option value="">Selectionner...</option>
    <option value="Signaler un bug"<?php
    if ($_SESSION['liste1'] == "Signaler un bug") {
    echo(" selected");
    }
    ?>>Signaler un bug</option>
    <option value="Faire une suggestion"<?php
    if ($_SESSION['liste1'] == "Faire une suggestion") {
    echo(" selected");
    }
    ?>>Faire une suggestion</option>
    <option value="Envoyer des infos"<?php
    if ($_SESSION['liste1'] == "Envoyer des infos") {
    echo(" selected");
    }
    ?>>Envoyer des infos</option>
    <option value="Demander des infos"<?php
    if ($_SESSION['liste1'] == "Demander des infos") {
    echo(" selected");
    }
    ?>>Demander des infos</option>
    <option value="Autre..."<?php
    if ($_SESSION['liste1'] == "Autre...") {
    echo(" selected");
    }
    ?>>Autre...</option>
    </select></td></tr></table><table width="566" border="0" align="center"><tr>
          <td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Votre message</font></div></td>
          <td width="30" align="center" valign="top">
    	  <?php
    	  if ($erreur_texte1) {
    	  echo($icone);
    	  }
    	  ?>
    	  </td>
          <td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
        </tr></table><table width="566" border="0" align="center"><tr>
    <td valign="top"><div align="center"> 
              <input type="reset" name="Reset" value=" Effacer ">
                
              <input type="submit" name="envoi" value="Envoyer">
            </div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>
    1. je viens de refaire ma page juste en copiant le code donné par le site et ça marche pas: (y a vraiment que ça sur ma page maintenant)

      <?php

      // On vérifie si la fonction ini_set() a été désactivée...
      $desactive = ini_get('disable_functions');
      if (preg_match("/ini_set/i", "$desactive") == 0) {
      // Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
      ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
      }

      // Vérifier que le formulaire a été envoyé...
      if (isset($_POST['envoi'])) {

      //On commence une session pour enregistrer les variables du formulaire...

      session_start();

      $_SESSION['champ1'] = $_POST['champ1'];
      $_SESSION['champ2'] = $_POST['champ2'];
      $_SESSION['liste1'] = $_POST['liste1'];

      //Enregistrement des zones de texte...
      $_SESSION['zone_texte1'] = $_POST['zone_texte1'];

      // Définir l\'icone apparaissant en cas d\'erreur...

      // Définir sur 0 pour afficher un petit x de couleur rouge.
      // Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
      // Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
      // ce dernier devant se trouver au même niveau que votre formulaire...
      $flag_icone = 0;

      // On vérifie si $flag_icone est défini sur 0 ou 1...
      if ($flag_icone == 0) {
      $icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
      } else {
      $icone = "<img src=\"images/icone.gif\"";
      }

      // Définir l'indicateur d'erreur sur zéro...
      $flag_erreur = 0;
      // N'envoyer le formulaire que s'il n'y a pas d'erreurs...
      if ($flag_erreur == 0) {

      // Addresse de réception du formulaire
      $email_dest = "mllesophie-c.l@hotmail.fr";
      $sujet = "contact 100% nature";
      $entetes ="MIME-Version: 1.0 \n";
      $entetes .="From: visiteur 100% nature<mllesophie-c.l@hotmail.fr>\n";
      $entetes .="Return-Path: visiteur 100% nature<mllesophie-c.l@hotmail.fr>\n";
      $entetes .="Reply-To: visiteur 100% nature<mllesophie-c.l@hotmail.fr>\n";
      $entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
      $partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";

      //Partie HTML de l'e-mail...
      $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre Nom/Pseudonyme = " . $_SESSION['champ1'] . "</font><br>\n";
      $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Titre de votre message = " . $_SESSION['champ2'] . "</font><br>\n";
      $partie_listes .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Sujet de votre message = " . $_SESSION['liste1'] . "</font><br>\n";
      $partie_zone_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Votre message = " . $_SESSION['zone_texte1'] . "</font><br>\n";

      // Fin du message HTML
      $fin = "</body></html>\n\n";

      $sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;

      // Send the e-mail
      if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
      echo("Envoi du formulaire impossible");
      exit();
      } else {

      // Rediriger vers la page de remerciement
      header("Location:remerciements.html");
      exit();
      } // Fin else
      } // Fin du if ($flag_erreur == 0) {
      } // Fin de if POST
      ?>
      <html>
      <!--
      Assistant de création de formulaires PHP pour les nuls - Version gratuite 1.6
      Auteur : Frédéric Ménard (assistant@f1-fantasy.net)
      Site : http://www.f1-fantasy.net/assistant
      -->
      <head>
      <title>Formulaire</title><script language="JavaScript">

      function verifSelection() {

      if (document.mail_form.champ1.value == "") {
      alert("Vous n\'avez pas mis votre nom/pseudonyme")
      return false
      }

      if (document.mail_form.champ2.value == "") {
      alert("Vous n\'avez pas donné de titre à vore message")
      return false
      }

      if (document.mail_form.liste1.value == "") {
      alert("Vous n\'avez pas choisi de sujet")
      return false
      }

      if (document.mail_form.zone_texte1.value == "") {
      alert("Votre message est vide")
      return false
      }

      } // Fin de la fonction
      </script>
      </head><body><form name="mail_form" method="post" action="<?=$_SERVER['PHP_SELF']?>" onSubmit="return verifSelection()">
      <div align="center"><font size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong>Formulaire
      de contact</strong></font></div><br><table align="center" width="566" border="0" cellspacing="0" cellpadding="0">
      <tr>
      <td height="16"><div align="center">
      <font color="#CC0000" size="2" face="Verdana, Arial, Helvetica, sans-serif, Tahoma"><strong><?php
      if ($erreur_champ1) {
      echo(stripslashes($erreur_champ1));
      } else {
      if ($erreur_champ2) {
      echo(stripslashes($erreur_champ2));
      } else {
      if ($erreur_liste1) {
      echo(stripslashes($erreur_liste1));
      } else {
      if ($erreur_texte1) {
      echo(stripslashes($erreur_texte1));
      } else {
      } // Fin du else...
      } // Fin du else...
      } // Fin du else...
      } // Fin du else...
      ?>
      </strong></font>
      </div></td>
      </tr>
      </table>
      <p align="center"></p><table width="566" border="0" align="center"><tr>
      <td width="140"><div align="right"><font face="Verdana" size="2">Votre Nom/Pseudonyme</font></div></td>
      <td align="center" valign="middle" width="30">
      <?php
      if ($erreur_champ1) {
      echo($icone);
      }
      ?>
      </td>
      <td><input name="champ1" type="text" value="<?=stripslashes($_SESSION['champ1']);?>"></td>
      </tr></table><table width="566" border="0" align="center"><tr>
      <td width="140"><div align="right"><font face="Verdana" size="2">Titre de votre message</font></div></td>
      <td align="center" valign="middle" width="30">
      <?php
      if ($erreur_champ2) {
      echo($icone);
      }
      ?>
      </td>
      <td><input name="champ2" type="text" value="<?=stripslashes($_SESSION['champ2']);?>"></td>
      </tr></table><table width="566" border="0" align="center"><tr>
      <td width="140"><div align="right"><font face="Verdana" size="2">Sujet de votre message</font></div></td>
      <td width="30" align="center" valign="middle">
      <?php
      if ($erreur_liste1) {
      echo($icone);
      }
      ?>
      </td>
      <td><select name="liste1" style="width:146"><option value="">Sélectionner...</option>
      <option value="Signaler un bug"<?php
      if ($_SESSION['liste1'] == "Signaler un bug") {
      echo(" selected");
      }
      ?>>Signaler un bug</option>
      <option value="Faire une suggestion"<?php
      if ($_SESSION['liste1'] == "Faire une suggestion") {
      echo(" selected");
      }
      ?>>Faire une suggestion</option>
      <option value="Envoyer des infos"<?php
      if ($_SESSION['liste1'] == "Envoyer des infos") {
      echo(" selected");
      }
      ?>>Envoyer des infos</option>
      <option value="Demander des infos"<?php
      if ($_SESSION['liste1'] == "Demander des infos") {
      echo(" selected");
      }
      ?>>Demander des infos</option>
      <option value="Autre..."<?php
      if ($_SESSION['liste1'] == "Autre...") {
      echo(" selected");
      }
      ?>>Autre...</option>
      </select></td></tr></table><table width="566" border="0" align="center"><tr>
      <td width="140" valign="top"><div align="right"><font face="Verdana" size="2">Votre message</font></div></td>
      <td width="30" align="center" valign="top">
      <?php
      if ($erreur_texte1) {
      echo($icone);
      }
      ?>
      </td>
      <td><textarea name="zone_texte1" cols="45" rows="10"><?=stripslashes($_SESSION['zone_texte1']);?></textarea></td>
      </tr></table><table width="566" border="0" align="center"><tr>
      <td valign="top"><div align="center">
      <input type="reset" name="Reset" value=" Effacer ">

      <input type="submit" name="envoi" value="Envoyer">
      </div></td></tr></table><div align="center"><input name="nbre_fichiers" type="hidden" id="nbre_fichiers" value=""></div></form></body></html>
      1. Contributeur
        EXACT POUR fonction session_start(); !!!!

        cette partie la doit etre AVANT TOUT AUTRE CODE SUR LA PAGE ( ne copie pas c est un exemple pas ton code !! )
        <?php
        
        // On vérifie si la fonction ini_set() a été désactivée...
        $desactive = ini_get('disable_functions');
        if (preg_match("/ini_set/i", "$desactive") == 0) {
        // Si elle n'est pas désactivée, on définit ini_set de manière à n'afficher que les erreurs...
        ini_set("error_reporting" , "E_ALL & ~E_NOTICE");
        }
        
        // Vérifier que le formulaire a été envoyé...
        if (isset($_POST['envoi'])) {
        
        
        //On commence une session pour enregistrer les variables du formulaire...
        
        session_start();
        
        $_SESSION['champ1'] = $_POST['champ1'];
        
        // Définir l\'icone apparaissant en cas d\'erreur...
        
        
        // Définir sur 0 pour afficher un petit x de couleur rouge.
        // Définir sur 1 pour afficher l\'image d\'une croix rouge telle que celle utilisée dans l\'assistant
        // Si vous utilisez l\'option 1, l\'image de la croix rouge \'icone.gif\' doit se trouver dans le répertoire \'images\',
        // ce dernier devant se trouver au même niveau que votre formulaire...
        $flag_icone = 0;
        
        // On vérifie si $flag_icone est défini sur 0 ou 1...
        if ($flag_icone == 0) {
        $icone = "<b><font size=\"3\" face=\"Arial, Verdana, Helvetica, sans-serif\" color=\"#CC0000\">x</font></b>";
        } else {
        $icone = "<img src=\"images/icone.gif\"";
        }
        
        // Définir l'indicateur d'erreur sur zéro...
        $flag_erreur = 0;
        // N'envoyer le formulaire que s'il n'y a pas d'erreurs...
        if ($flag_erreur == 0) {					
        
        // Addresse de réception du formulaire
        $email_dest = "ff@ff.gg";
        $sujet = "erer";
        $entetes ="MIME-Version: 1.0 \n";
        	$entetes .="From: trete<retert@jj.h>\n";
        	$entetes .="Return-Path: trete<retert@jj.h>\n";
        	$entetes .="Reply-To: trete<retert@jj.h>\n";
        	$entetes .="Content-Type: text/html; charset=iso-8859-1 \n";
        	$partie_entete = "<html>\n<head>\n<title>Formulaire</title>\n<meta http-equiv=Content-Type content=text/html; charset=iso-8859-1>\n</head>\n<body bgcolor=#FFFFFF>\n";
        
        
        //Partie HTML de l'e-mail...
        $partie_champs_texte .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">aaa = " . $_SESSION['champ1'] . "</font><br>\n";
        					
        
        					// Fin du message HTML
        					$fin = "</body></html>\n\n";
        					
        					$sortie = $partie_entete . $partie_champs_texte . $partie_zone_email . $partie_listes . $partie_boutons . $partie_cases . $partie_zone_texte . $fin;
        
        
        					// Send the e-mail
        					if (@!mail($email_dest,$sujet,$sortie,$entetes)) {
        					echo("Envoi du formulaire impossible");
        					exit();
        					} else {
        
                            // Rediriger vers la page de remerciement
                            header("Location:rr.html");
                            exit();
                          } // Fin else
        			    } // Fin du if ($flag_erreur == 0) {
        			} // Fin de if POST
        ?>

        1. Contributeur
          la fonction session_start(); doit être placée avant tout affichage de texte, ça doit être une des premières choses dans la page, voire la première
          1. Contributeur
            SALUT
            quel est le code de ta page de remerciement ?