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

Fermé
Alex - 3 juin 2016 à 15:02
jordane45 Messages postés 38437 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 - 6 juin 2016 à 23:16
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']))
A voir également:

2 réponses

tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
Modifié par tribal005 le 3/06/2016 à 15:06
if (($email != '')&& ($f2mcfemail != '') && ($quelestlobjetdevotredemande != '') && ($votremessage != '')&& ($combienfont43 != ''))


Tu as oublié une parenthèse il me semble
Cordialement,
Tribal005
0
Ah oui! Merci à toi. Je vais tout de suite corriger cela.
0
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
3 juin 2016 à 15:12
De rien, bon courage pour la suite :)
0
J'ai corrigé mais j'ai toujours le même problème.
0
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
tribal005 Messages postés 70 Date d'inscription samedi 15 septembre 2012 Statut Membre Dernière intervention 15 juin 2016 18
3 juin 2016 à 15:39
echo '<p>'.$votremessage_non_envoye.'</p>'; 
}; 


le ; après } est une erreur aussi non ?
0
jordane45 Messages postés 38437 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 février 2025 4 737
6 juin 2016 à 23:16
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