Erreur T_CONSTANT_ENCAPSED_STRING

Fermé
sokebana Messages postés 27 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 8 avril 2009 - 9 nov. 2008 à 11:24
 toto - 10 nov. 2008 à 13:20
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">
<!-- ...........

A voir également:

8 réponses

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"
0
sokebana Messages postés 27 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 8 avril 2009
9 nov. 2008 à 13:22
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
0
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.
0
sokebana Messages postés 27 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 8 avril 2009
9 nov. 2008 à 17:48
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.){
0
C'est toujours pareil. Tu as toujours un point suivi d'une parenthèse ).
À quoi ça sert les explications qu'on donne ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sokebana Messages postés 27 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 8 avril 2009
9 nov. 2008 à 19:59
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??
0
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...
0
sokebana Messages postés 27 Date d'inscription lundi 4 juin 2007 Statut Membre Dernière intervention 8 avril 2009
9 nov. 2008 à 22:06
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
0
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 ?
0