Erreur T_CONSTANT_ENCAPSED_STRING

Bonjour,

j'essai d'intégrer dans un formulaire simple (texte) des cahmps d'up load d'image + une liste déroulante, je suis real débutante en php... voici l'erreur présentée

si qqu peut me venir en aide... merci par avance

syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/wb60769/test/prestataires-mariage/formule_complete.php on line 126

la ligne 126 dans son contexte est celle ci (if( mail('contact@sokebana.net','Nouvelle inscription...)
<?php
//mise en forme du mail
$message = "$formNom $formPrenom soumet son inscription à l'annuaire -Formule complete- de l'espace mariage.\n \n ";

// on envois le mail https://www.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1. "\n Fichier2:".$formFichier2. " \n Fichier3:".$formFichier3. )" Description: " $formDescription"\n" ){
echo ('<title>Votre soumission est prise en compte</title>
<link href="style.css" rel="stylesheet" type="text/css">

?>



<?php
// récupération des variables
// donné un autre nom au variable pour évité les problèmes avec Register Global à ON
$formTitre = $_POST['titre'];
$formActivite = $_POST['activite'];
$formNom = $_POST['nom'];
$formPrenom = $_POST['prenom'];
$formMail = $_POST['mail'];
$formAdresse = $_POST['adresse'];
$formCode_postal = $_POST['code_postal'];
$formville = $_POST['ville'];
$formTelephone = $_POST['tel'];
$formPortable = $_POST['port'];
$formSite_web = $_POST['site_web'];
$formGamme_de_prix = $_POST['gamme_prix'];
$formZone_activite = $_POST['zone_activite'];
$formFichier = $_FILES['fichier'];
$formFichier1 = $_FILES['fichier1'];
$formFichier2 = $_FILES['fichier2'];
$formFichier3 = $_FILES['fichier3'];
$formDescription = $_POST['description'];

/* traitement up load*--------------------------------------------------------------------------------------------------------------*/
// Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur
if (isset($_FILES['fichier']) && $_FILES['fichier']['error'] == 0)$erreur = "Erreur lors du tranfsert";
{
// Testons si le fichier n'est pas trop gros
if ($_FILES['fichier']['size'] <= 50000) $erreur = "Le fichier est trop gros";
// Testons si l'extension est autorisée
{
$infosfichier = pathinfo($_FILES['fichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees))echo "Extension correcte";
//Pour supprimer les espaces dans les noms de fichiers car celà entraîne une erreur lorsque vous voulez l'afficher
$fichier = preg_replace ("` `i","",$fichier);//ligne facultative :)
$image_sizes = getimagesize($_FILES['icone']['tmp_name']);
if ($image_sizes[160] > $maxwidth OR $image_sizes[160] > $maxheight) $erreur = "Image trop grande";
{
// On peut valider le fichier et le stocker définitivement
move_uploaded_file($_FILES['fichier3']['tmp_name'], 'uploads/' . basename($_FILES['fichier3']['name']));
echo "L'envoi a bien été effectué !";
}
}
}



if (isset($_FILES['fichier1']) && $_FILES['fichier1']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier1']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier1']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier1']['tmp_name'], 'uploads/' . basename($_FILES['fichier1']['name']));
echo "L'envoi a bien été effectué !";
}
}
}



if (isset($_FILES['fichier2']) && $_FILES['fichier2']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier2']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier2']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier2']['tmp_name'], 'uploads/' . basename($_FILES['fichier2']['name']));
echo "L'envoi a bien été effectué !";
}
}
}



if (isset($_FILES['fichier3']) && $_FILES['fichier3']['error'] == 0) $erreur = "Erreur lors du tranfsert";
{
if ($_FILES['fichier3']['size'] <= 100000) $erreur = "Le fichier est trop gros";
{
$infosfichier = pathinfo($_FILES['fichier3']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
if (in_array($extension_upload, $extensions_autorisees)) echo "Extension correcte";
$fichier = preg_replace ("` `i","",$fichier);
$fichier = preg_replace ("` `i","",$fichier);
if ($image_sizes[600] > $maxwidth OR $image_sizes[600] > $maxheight) $erreur = "Image trop grande";
{
move_uploaded_file($_FILES['fichier3']['tmp_name'], 'uploads/' . basename($_FILES['fichier3']['name']));
echo "L'envoi a bien été effectué !";
}
}
}

/* FIN traitement up load--------------------------------------------------------------------------------------------------------------*/


// pour éviter des erreurs de Notice dans le cas ou le champs est resté vide, on aurait pu mettre !
// $formMail = (!isset($_POST['mail']))?$_POST['mail']:'none';
// Dans le cas ou les variables sont destiné à allimenter un base de donné il faut toujours valider les valeurs pour éviter les problèmes d'injection ! cf Google
//En règle général on traite les variables avec les fonctions htmlentities, mysql_escape_string(),addslash() ...
// Dans l'exemple on va juste vérifier que le nom, le prenom et le mail soit pas vide.
if(!empty($formTitre) && !empty($formActivite) && !empty($formNom) && !empty($formPrenom) && !empty($formMail) && !empty($formAdresse) && !empty($formCode_Postal) && !empty($formVille) && !empty($formTelephone) &&!empty($formPortable) &&!empty($formSite_web) &&!empty($formGamme_prix) &&!empty ($formZone_activite) && !empty($Fichier) && !empty($Fichier1)&& !empty($Fichie2)&& !empty($Fichier3)){
//ok pas vide //on convertie les caractètres HTML du commentaire
$formDescription = htmlentities($formDescription);




//mise en forme du mail
$message = "$formNom $formPrenom soumet son inscription à l'annuaire -Formule complete- de l'espace mariage.\n \n ";

// on envois le mail https://www.php.net/manual/fr/ref.mail.php // bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
// ATTENTION en général vous n'avez pas de serveur de mail sur votre machine !
// à tester sur le net directment en cas de problème avec la fonction mail
if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1. "\n Fichier2:".$formFichier2. " \n Fichier3:".$formFichier3. )" Description: " $formDescription"\n" ){


echo ('<title>Votre soumission est prise en compte</title>
<link href="style.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!-- ...........

Configuration: Windows XP
Firefox 3.0.3

8 réponses

  1. Bonjour

    Ta commande mail va bien jusqu'à $formFichier3, mais relis-toi : $formFichier3. )" Description: " $formDescription"\n"
    Qu'est ce que c'est que cette parenthèse juste après un . ? Après un . tu dois avoir une chaîne, c'est à dire soit une variable, une constante, une fonction un ' ou un ". En aucun cas une )
    Ensuite, après " Description " si tu veux qu'à la suite il y ait le contenu de $formDescription, il faut utiliser l'opérateur de concaténation de chaîne .
    Même remarque entre $formDescription et "\n"
    1. Merci toto pour ton intervention!!
      j'ai supprimé la parenthese en trop, exact

      par contre tu dis
      Ensuite, après " Description " si tu veux qu'à la suite il y ait le contenu de $formDescription, il faut utiliser l'opérateur de concaténation de chaîne .
      Même remarque entre $formDescription et "\n"

      peux tu m'en dire plus

      merci de ton aide
  2. L'opérateur de concaténation de chaine, c'est l'opérateur qui sert à concaténer des chaînes c'est à dire à les mettre bout à bout . C'est le point (.) que tu utilises d'ailleurs tout le début de ton expression, jusqu'à cette variable, puis tu arrêtes tout à coup.
    Regarde dans la constituton de ton mail : tu prends des morceaux de message : ( extrait partiel )
    ...
    "\n Telephone:"
    $formTelephone
    "\n Portable"
    $formPortable
    ...

    chacun d'entre eux est une chaine : soit une variable, soit une chaine littérale, c'est à dire entre " ou '
    Tu les mets bout à bout (on dit concaténer) en une seule chaîne, grâce à l'opérateur de concaténation point (.) :
    ... "\n Telephone:".$formTelephone. "\n Portable".$formPortable. ...
    mais après $formDescription tu oublies le point
    Avant tu avais un problème au niveau de la parenthèse en trop, maintenant le problème est juste un peu plus loin.
    1. j'ai fait des rechercehs entre temps et c'est ok j'ai rectifié, seulement, l'erreur est toujours la meme...

      quelque part par là

      if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1."\n Fichier2:".$formFichier2. "\n Fichier3:".$formFichier3.){
      1. C'est toujours pareil. Tu as toujours un point suivi d'une parenthèse ).
        À quoi ça sert les explications qu'on donne ?
        1. ba il me semble que cette parenthese ferme celle qu ouvrait

          ('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1."\n Fichier2:".$formFichier2. "\n Fichier3:".$formFichier3.)

          meme qu'il en manque une vu que

          if( mail('contact@sokebana.net','Nouvelle inscription -Formule complète- de l\'Espace Mariage',$message. "\n Activité:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail. "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_postal. "\n Ville:".$formVille. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1."\n Fichier2:".$formFichier2. "\n Fichier3:".$formFichier3.)){

          non??
          1. Alors c'est le . qui est en trop. Le point signifie que tu veux continuer une chaine, ce qui n'est pas le cas si tu veux fermer ici les deux parenthèses du if ( et de la fonction mail(
            Dans ton premier message, il y avait encore du texte après $formFichier3. Mais si tu changes...
            1. le souci est réglé plus d'erreur

              if( mail('contact@sokebana.net','Nouvelle inscription -Formule complete- de l\'Espace Mariage',$message. "\n Activite:" .$formActivite. "\n Titre:".$formTitre. "\n Site web:" .$formSite_web. "\n Gamme de prix:" .$formGamme_prix. "\n \n Mail:" .$formMail. "\n Adresse:".$formAdresse. "\n Code postal:".$formCode_ville. "\n Telephone:".$formTelephone. "\n Portable".$formPortable. "\n Zone couverte:".$formZone_activite. "\n Vignette".$formFichier. "\n Fichier1:".$formFichier1."\n Fichier2:".$formFichier2. "\n Fichier3:".$formFichier3."\n Description:".$formDescription."\n")){

              j'avais viré description car le pensais que ça faisais doublon, je me suis trompée donc il y est de nouveau....

              par contre ça n'up load que 3 images sur 4 et ça me les laisse ds le dossier upload, je ne sas pas les faire arriver en pièce jointe.

              apres ce sera tout bon
              1. Envoyer une image en pièce jointe, ça n'est pas vraiment simple. Ne peux-tu pas te contenter d'envoyer des liens vers tes images dans le texte du message et laisser les destinataires aller les chercher eux-mêmes ?