J'ai un problème avec mon fichier de traitement php

Alex -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,


Je sollicite votre aide pour un problème que j'ai avec mon fichier de traitement php.

Une erreur m'est signalée à la 3è ligne

if (($email != '')&& ($f2mcfemail != '') && ($quelestlobjetdevotredemande != ''&& ($votremessage != '')&& ($combienfont43 != ''))
{
// les 4 variables sont remplies, on génère puis envoie le mail
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
'Reply-To:'.$email. "\r\n" .
'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
'Content-Disposition: inline'. "\r\n" .
'Content-Transfer-Encoding: 7bit'." \r\n" .
'X-Mailer:PHP/'.phpversion();

// envoyer une copie au visiteur ?
if ($copie == 'oui')
{
$cible = $destinataire.';'.$email;
}
else
{
$cible = $destinataire;
};

// Remplacement de certains caractères spéciaux
$votremessage = str_replace("'","'",$votremessage);
$votremessage = str_replace("’","'",$votremessage);
$votremessage = str_replace(""",'"',$votremessage);
$votremessage = str_replace('<br>','',$votremessage);
$votremessage = str_replace('<br />','',$votremessage);
$votremessage = str_replace("<","<",$votremessage);
$votremessage = str_replace(">",">",$votremessage);
$votremessage = str_replace("&","&",$votremessage);

// Envoi du mail
$num_emails = 0;
$tmp = explode(';', $cible);
foreach($tmp as $email_destinataire)
{
if (mail($email_destinataire, $quelestlobjetdevotredemande, $votremessage, $headers))
$num_emails++;
}

if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
{
echo '<p>'.$votremessage_envoye.'</p>';
}
else
{
echo '<p>'.$votremessage_non_envoye.'</p>';
};
}
else
{
// une des 3 variables (ou plus) est vide ...
echo '<p>'.$votremessage_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
};
}; // fin du if (!isset($_POST['envoi']))

2 réponses

  1. tribal005 Messages postés 99 Statut Membre 18
     
    if (($email != '')&& ($f2mcfemail != '') && ($quelestlobjetdevotredemande != '') && ($votremessage != '')&& ($combienfont43 != ''))


    Tu as oublié une parenthèse il me semble
    Cordialement,
    Tribal005
    0
    1. Alex
       
      Ah oui! Merci à toi. Je vais tout de suite corriger cela.
      0
    2. tribal005 Messages postés 99 Statut Membre 18
       
      De rien, bon courage pour la suite :)
      0
    3. Alex
       
      J'ai corrigé mais j'ai toujours le même problème.
      0
    4. Alex
       
      Voici ce que ça me signale:
      Parse error: syntax error, unexpected '{' on line 291

      J'ai posté le contenu du fichier à partir de la ligne 289
      0
    5. tribal005 Messages postés 99 Statut Membre 18
       
      echo '<p>'.$votremessage_non_envoye.'</p>'; 
      }; 


      le ; après } est une erreur aussi non ?
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    if (isset($_POST['envoi'])){
      if ($email != ''&& $f2mcfemail != '' && $quelestlobjetdevotredemande != ''&& $votremessage != '' && $combienfont43 != ''){
       // les 4 variables sont remplies, on génère puis envoie le mail
       $headers = 'MIME-Version: 1.0' . "\r\n";
       $headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
                'Reply-To:'.$email. "\r\n" .
                'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
                'Content-Disposition: inline'. "\r\n" .
                'Content-Transfer-Encoding: 7bit'." \r\n" .
                'X-Mailer:PHP/'.phpversion();
    
       // envoyer une copie au visiteur ?
       if ($copie == 'oui'){
         $cible = $destinataire.';'.$email;
       } else{
         $cible = $destinataire;
       }
    
        // Remplacement de certains caractères spéciaux
       $votremessage = str_replace("'","'",$votremessage);
       $votremessage = str_replace("’","'",$votremessage);
       $votremessage = str_replace('"','"',$votremessage);
       $votremessage = str_replace('<br>','',$votremessage);
       $votremessage = str_replace('<br />','',$votremessage);
       $votremessage = str_replace("<","<",$votremessage);
       $votremessage = str_replace(">",">",$votremessage);
       $votremessage = str_replace("&","&",$votremessage);
    
       // Envoi du mail
       $num_emails = 0;
       $tmp = explode(';', $cible);
       foreach($tmp as $email_destinataire){
        if (mail($email_destinataire, $quelestlobjetdevotredemande, $votremessage, $headers)) {
           $num_emails++;
        }
       }
       if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1))){
         echo '<p>'.$votremessage_envoye.'</p>';
       }else{
         echo '<p>'.$votremessage_non_envoye.'</p>';
       }
      }else {
        // une des 3 variables (ou plus) est vide ...
        echo '<p>'.$votremessage_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
     }
    } // fin du if (isset($_POST['envoi']))
    
    


    Le souci venait de la ligne :
      $votremessage = str_replace(""",'"',$votremessage);
    

    A remplacer par :
      $votremessage = str_replace('"','"',$votremessage);
    

    qui au passage ... est inutile......
    0