Erreur dans mon code php/html [Résolu/Fermé]

Signaler
-
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
-
Bonjour, je suis en train de faire un formulaire de contact pour un site internet et j'ai l'erreur suivante que je ne comprends pas : Parse error: syntax error, unexpected '$header' (T_VARIABLE) in C:\wamp64\www\tests\formulaire_de_contact.php on line 6
Voici mon code :
<?php
if(isset($_POST['mailform']))
{
 if(!empty($_POST['nom']) AND !empty($_POST['tel']) AND !empty($_POST['adresse de dep']) AND !empty($_POST['adresse dariv']) AND !empty($_POST['message']) 
 
  $header="MIME-Version: 1.0\r\n";
  $header.='From:"xxx.fr"<***@***>'."\n";
  $header.='Content-Type:text/html; charset="uft-8"'."\n";
  $header.='Content-Transfer-Encoding: 8bit';

  $message='
  <html>
   <body>
    <div align="center">
     <u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br />
     <u>Numéro de l\'expéditeur :</u>'.$_POST['tel'].'<br />
     <u> Adresse de départ :</u>'.$_POST['adresse de dep'].'<br />
     <u> Adresse d\'arrivée :</u>'.$_POST['adresse dariv'].'<br />
     <u> Heure de la course ou informations complémentaires :</u>'.$_POST['message'].'<br />
     <br />
     '.nl2br($_POST['message']).'
     <br />
    </div>
   </body>
  </html>
  ';

  mail("***@***", "CONTACT - x.fr", $message, $header);
  $msg="Votre message a bien été envoyé !";
 
 else
 {
  $msg="Tous les champs doivent être complétés !";
 }
}
?>
<html>
 <head>
  <meta charset="utf-8" />
 </head>
 <body>
  <h2>Formulaire de contact !</h2>
  <form method="POST" action="">
   <input type="text" name="nom" placeholder="Votre nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>" /><br /><br />
   <input type="number" name="tel" placeholder="Votre numéro de téléphone" value="<?php if(isset($_POST['tel'])) { echo $_POST['tel']; } ?>" /><br /><br />
   <input type="text" name="adresse de dep" placeholder="Votre adresse de départ" value="<?php if(isset($_POST['adresse de dep'])) { echo $_POST['adresse de dep']; } ?>" /><br /><br /> 
   <input type="text" name="adresse dariv" placeholder="Votre adresse d'arrivée" value="<?php if(isset($_POST['adresse dariv'])) { echo $_POST['adresse dariv']; } ?>" /><br /><br /> 
   <textarea name="message" placeholder="Votre message contenant l\'heure de la course ainsi que si besoin des informations complémentaires "><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea><br /><br />
   <input type="submit" value="Envoyer !" name="mailform"/>
  </form>
  <?php
  if(isset($msg))
  {
   echo $msg;
  }
  ?>
 </body>
</html>


Je vous remercie d'avance pour vos réponses, cela fait une semaine que je bloque sur cette erreur :-P

4 réponses

Messages postés
28788
Date d'inscription
vendredi 5 février 2010
Statut
Modérateur
Dernière intervention
14 novembre 2020
7 747
Salut,

<u> Adresse d\'arrivée :</u>'.$_POST['adresse dariv'].'<br />


Nommer des variables avec des espaces, déjà, c'est 1ère source d'ennuis...

Donc, commencer par ne pas utiliser d'espace dans les variables, au besoin les remplacer par des underscores (_).
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018

Merci de votre réponse j'essaierai ça plus tard et je vous en referai part.

Bonjour

Même si ce qui est dit dans les réponses précédentes est vrai, cela n'a aucun rapport avec ton message d'erreur.
Le message d'erreur vient du fait que tu as oublié de fermé la parenthèse du if.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 76687 internautes nous ont dit merci ce mois-ci

Messages postés
7
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
2 janvier 2018
1
Ce qui est dit plus haut contribue à la résolution.
Utilisateur anonyme
Je n'ai pas dit le contraire, j'ai même approuvé les autres contributions. J'ai juste dit que les problèmes qu'elles résolvent ne sont pas celui qui était soumis et qui portait sur un message d'erreur bien défini.
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
750
il s'agit du
if
en ligne 4, il y manque une parenthèse fermante en fin de ligne.
le message d'erreur t'informe que php est surpris de voir
$header
en ligne 6.
l'erreur est juste avant: qu'as-tu fait pendant une semaine?
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018
>
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020

Merci beaucoup, je n'y avais pas fait attention :)
Messages postés
7
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
2 janvier 2018
1
Frustrant ... mais c'est juste un problème d'accolades. Regardes ton code, si je ne me trompe pas, tu as oublié une accolade ouvrante "{"
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018

Je vois. C'est ce que je pensais. Merci. Auriez vous l'amabilité de me dire où se trouve cette accolade car j'ai beau chercher je ne trouve pas. Merci d'avance et bonne année
Messages postés
7
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
2 janvier 2018
1
Ligne 31
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
750 >
Messages postés
7
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
2 janvier 2018

cela sera le troisième message d'erreur, occupons-nous d'abord du premier.
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018

J'ai donc réglé le problème de la parenthèse ligne 4 grâce à vous mais j'ai maintenant le message d'erreur suivant : Parse error: syntax error, unexpected 'else' (T_ELSE) in C:\wamp64\www\tests\formulaire_de_contact.php on line 31. Quelqu'un pourrait-il m'aider svp?
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
750
si tu souhaites que le IF s'applique à plusieurs instructions, tu dois les entourer d'accolades.
il faut donc probablement une accolade ouvrante la ligne après le IF, et une accolade fermante la ligne avant le ELSE.
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018
>
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020

Oh!! Merci beaucoup! Cela fonctionne enfin!
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
750 >
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018

parfait! peux-tu marquer le sujet comme résolu (via la petite roue dentée à droite du titre)?
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018
>
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020

Dois-je aller dans ne plus suivre??
Messages postés
13427
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
4 décembre 2020
750 >
Messages postés
6
Date d'inscription
dimanche 31 décembre 2017
Statut
Membre
Dernière intervention
3 janvier 2018

tu as ouvert la discussion sans être inscrit, tu ne peux sans doute donc pas la fermer.