La Communauté Webmaster  forum rss


  Forum-webmaster
  Technique - programmation
  PHP / MySQL
(Modérateurs: Shain, Jey, erwinol, Lilian, lauryv, ToToMaStEr)
  probleme formulaire de contact
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: probleme formulaire de contact  (Lu 2088 fois)
probleme formulaire de contact
« sur: le 19-11-2011 a 20:37:16 »
leaweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 18





Voir le Profil
Répondre avec citation

Bonjour,

J'ai un formulaire de contact...
Je recois bien les messages envoyé depuis, mais lorsque le message est envoyé, il y a un message qui s'affiche au dessus du formulaire :::
Warning: Cannot modify header information - headers already sent by (output started at /var/www/xxxx.fr/htdocs/haut.php:111) in /var/www/xxxx.fr/htdocs/controles.php on line 40

et la ligne 40 s'est :
header("Location: contact.php?message=envoye");



                        </html>
                        ';
                     mail($mailAdministrateur, stripslashes($header), $messageMail, $from);
                     header("Location: contact.php?message=envoye");
                  } else {
                     $log = '<ul><li>Message non renseigné</li></ul>';
                  }
               } else {
                  $log = '<ul><li>Sujet non renseigné</li></ul>';

Avez vous une idée ?
MERCI

Rapporter au modérateur  

Re:probleme formulaire de contact
« Répondre #1 sur: le 20-11-2011 a 08:13:59 »
WebD
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 938





Voir le Profil    WWW    E-Mail
Répondre avec citation

Salut Leaweb,
Cette erreur provient du fait que tu appels la fonction header() après les balises html, et surtout après <head></head>

Il faut faire ceci:
Code:

<?php
Ton code d'envoi de mail avec header(Location:...)
?>
Puis le code html:
<html>
  <head>
  ...
  </head>

  <body>
  ...
  </body>
</html>

Rapporter au modérateur  

Agence Web  | Sticker MacBook | Lunettes personnalisées
Re:probleme formulaire de contact
« Répondre #2 sur: le 20-11-2011 a 08:45:57 »
leaweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 18





Voir le Profil
Répondre avec citation

Comprend pas !!!

Code:
<?php
   $mailAdministrateur = "xxxxxxxx";
   $nomDuSite = "xxxxx";
   $adrDuSite = "xxxxxxx";
   
   
   $log="";$nom="";$prenom="";$mail="";$message="";$sujet="";
   if(isset($_GET['message']) && $_GET['message'] == 'envoye') {
      $log = '<ul><li>Message envoyé</li></ul>';
   }
   
   if(isset($_POST['contact'])) {
      $nom = $_POST['nom']; $prenom = $_POST['prenom']; $mail = $_POST['mail']; $message = $_POST['message']; $sujet = $_POST['sujet'];
      if($nom!='') {
         if($prenom!='') {
            if(preg_match("#^([a-zA-Z0-9]+(([\.\-\_]?[a-zA-Z0-9]+)+)?)\@(([a-zA-Z0-9]+[\.\-\_])+[a-zA-Z]{2,4})$#", $mail)) {
               if($sujet!='') {
                  if($message!='') {
                     $from = "From:contact@".$adrDuSite."\nMime-Version:\n";
                     $from .= " 1.0\nContent-Type: text/html; charset=UTF-8\n";
                     $header= $nomDuSite." - Contact";
                     
                     $messageMail = '
                        <html>
                           <head>
                           </head>
                           <body>
                              <h1>'.$nomDuSite.' - MESSAGE du site www.titoo.fr</h1>   <p>****************************************************************</p>
                              <ul>
                                 <li>Nom : '.$nom.'</li>
                                 <li>Prenom : '.$prenom.'</li>
                                 <li>Mail : '.$mail.'</li>
                              </ul>   <p>****************************************************************</p>
                              <p>Sujet : '.$sujet.'</p>   <p>****************************************************************</p>
                              <p>'.$message.'</p>   <p>****************************************************************</p>
                           </body>
                        </html>
                        ';
                     mail($mailAdministrateur, stripslashes($header), $messageMail, $from);
                     header("Location: contact.php?message=envoye");
                  } else {
                     $log = '<ul><li>Message non renseigné</li></ul>';
                  }
               } else {
                  $log = '<ul><li>Sujet non renseigné</li></ul>';
               }
            } else {
               $log = '<ul><li>Mail au format incorrect</li></ul>';
            }
         } else {
            $log = '<ul><li>Prénom incorrect</li></ul>';
         }
      } else {
         $log = '<ul><li>Nom incorrect</li></ul>';
      }
   }
?>

Rapporter au modérateur  
Re:probleme formulaire de contact
« Répondre #3 sur: le 20-11-2011 a 08:51:50 »
WebD
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 938





Voir le Profil    WWW    E-Mail
Répondre avec citation

Autant pour moi, je pensais que le </html> que l'on voyait dans ton premier message était celui de la ta page web.

Le code que tu viens de mettre doit être exécuté AVANT avoir envoyé les balises html de ta page qui affiche le formulaire.

Rapporter au modérateur  

Agence Web  | Sticker MacBook | Lunettes personnalisées
Re:probleme formulaire de contact
« Répondre #4 sur: le 20-11-2011 a 11:33:57 »
leaweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 18





Voir le Profil
Répondre avec citation

Ok c'est fait, cela fonctionne, mais comment faire pour que dés que le formulaire est envoyé, l'internaute soit redirigé sur la page index.php car la, l'internaute reste sur le formulaire et s'il reclique sur envoyer, je recois plusieur fois le message...

Dans l'attente,

Rapporter au modérateur  
Re:probleme formulaire de contact
« Répondre #5 sur: le 20-11-2011 a 12:17:11 »
WebD
Superactif
****

Hors-Ligne

Sexe: Male
Messages: 938





Voir le Profil    WWW    E-Mail
Répondre avec citation

Tu remplaces
Code:
header("Location: contact.php?message=envoye");

par
Code:
header("Location: index.php");

Rapporter au modérateur  

Agence Web  | Sticker MacBook | Lunettes personnalisées
Re:probleme formulaire de contact
« Répondre #6 sur: le 20-11-2011 a 12:30:31 »
leaweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 18





Voir le Profil
Répondre avec citation

Citation de: WebD le le 20-11-2011 a 12:17:11
Tu remplaces
Code:
header("Location: contact.php?message=envoye");

par
Code:
header("Location: index.php");

Non, si je fais cela, après envoi, je resye sur le formulaire et il reste rempli. et si je reclique sur envoyer, cela repart !!!!

Rapporter au modérateur  
Re:probleme formulaire de contact
« Répondre #7 sur: le 21-11-2011 a 18:56:45 »
leaweb
Membre récent
*

Hors-Ligne

Sexe: Male
Messages: 18





Voir le Profil
Répondre avec citation

Personne ne peut m'aider ?

Rapporter au modérateur  
Re:probleme formulaire de contact
« Répondre #8 sur: le 20-12-2011 a 02:11:11 »
webyser
Membre récent
*

Hors-Ligne

Messages: 27





Voir le Profil    WWW    E-Mail
Répondre avec citation


Bonjour,


si tu n'arrive à rien avec la fonction header essaye :

echo '<meta http-equiv="Refresh" content="0; URL=index.php">';

Rapporter au modérateur  

http://www.webyser.fr
Nous créons votre site internet !
http://www.sf-univers.com
Re:probleme formulaire de contact
« Répondre #9 sur: le 12-01-2012 a 00:25:48 »
Erwan29
Membre récent
*

Hors-Ligne

Messages: 3





Voir le Profil
Répondre avec citation

Salut !

Je viens de m'inscrire, rien que pour toi 
Avant de défaire complètement ton code pour dénicher le problème, sache que l'UTF-8 ajoute des octets invisibles avant la balise <?php

Ces caractères invisibles sont interprétés comme des données à envoyer au nivagateur et cela déclenche le Warning" header already sent, etc."

Donc si je peux te le conseiller, si ton code est en UTF-8 simple, convertis le en UTF-8 sans BOM.

Je vais tester ton code pour voir. 

Rapporter au modérateur  
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
Let’s Encrypt : le certificat SSL gratuit
Tester votre site internet sur différents navigateurs
[WordPress] Des problèmes avec l’administration ?
Rappel : Mettez à jour vos CMS et vos sites E-commerce
Le .fr fête ses 25 années d’existence !
Mesurer votre audience en temps réel avec BubbleStat
Porter réclamation contre Google Panda ?
Zlio n’est plus …
 
 
 
 
 

Copyright (c) Devclic 2002 - 2026 - Tous droits réservés

creation site internet strasbourg