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
    SALUT
    quel est le code de ta page de remerciement ?
    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
        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. 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
            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>