T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

Re: T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par xTG » 31 déc. 2011, 13:53

En gros il s'attendait à la fin d'une expression ou bien une concaténation.
C'est ce genre de code qui génère l'erreur :
echo "texte" $variable;
Il faudrait utiliser par exemple :
echo "texte" . $variable;

Re: T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par memej » 31 déc. 2011, 13:21

Merci. Je vais reconstruire à partir de tes remarques. Peux-tu, stp, m'expliquer ce que veux dire "litteralement" T_ENCAPSED_AND_WHITESPACE

Re: T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par xTG » 31 déc. 2011, 13:05

Actuellement tu mets du code de traitement au sein d'un texte.
PHP n'est pas fait pour traiter de la sorte.

Exemple à ne pas faire :
maFonction( $variable, "unParamètre", "untexte if( $test > 5){
  $toto = "test";
}" . $toto);
Voilà comment faire :
$toto = "";
if( $test > 5 ){
  $toto = "test";
}
maFonction( $variable, "unParamètre", "untexte" . $toto);

Re: T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par memej » 31 déc. 2011, 12:22

Merci pour les réponses. J'ai noté les remarques du modérateur.
Je travaille avec Dreamweaver, je connais surtout le html et le script mais mal le php.
Donc comme j'ai dû faire un formulaire en php, je bidouille et suis venu poser une question sur le forum "PHP débutant".
En tant que grand débutant, je ne comprends pas toutes vos remarques et si la coloration syntaxique ne me gênes pas c'est que je n'y suis pas habitué !
Je comprends bien que certains caractères sont pas à leur place mais les échapper échappe à ma compréhension :oops:

Re: T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par zeus » 31 déc. 2011, 11:19

Modération :
Merci de faire attention lors du choix du titre, pour qu'il soit clair pour ceux qui auraient un problème similaire.
De même, merci d'utiliser les balises [php] pour déposer du code

Re: JE trouve pas le problème !

par xTG » 31 déc. 2011, 10:05

faut "échapper" les caractères, donc dans la chaine " devient \"

@+
Il y a plus qu'échapper. :lol:
Il a un code PHP qu'il veut exécuter à l'intérieur d'une string...
Ce qui m'étonne c'est que la coloration syntaxique ne semble pas le gêner...

Re: JE trouve pas le problème !

par moogli » 30 déc. 2011, 23:31

faut "échapper" les caractères, donc dans la chaine " devient \"

@+

Re: JE trouve pas le problème !

par memej » 30 déc. 2011, 19:58

Merci. Donc j'ai changé mail par messagerie dans le code mais après je sèche :cry:

Re: JE trouve pas le problème !

par xTG » 29 déc. 2011, 21:40

Ce code n'est pas valide car tu mets du code PHP à l'intérieur d'une chaîne de caractères.
Bon encore c'est pas méchant, mais dans ton code PHP tu as des affichages utilisant les mêmes quotes, donc du coup bang !

On voit le problème avec n'importe quel coloration syntaxique :
<?php


mail("[email protected]","Demande d'infos","


Demande de ".$_POST['Nom']." ".$_POST['Prenom']."
if (isset($_POST['Mail']))
{ $Mail = $_POST['Mail']; } else { $Mail = ""; }
if ($Mail == "") { $reponse = "Vous avez oublié votre adresse e-mail."; }5.if (!eregi("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$", $Mail)) { $reponse = "Est-ce bien une adresse email valide ?"; }
Adresse: ".$_POST['Adresse']."
CP: ".$_POST['Cp']."
Ville: ".$_POST['Ville']."
Pays: ".$_POST['Pays']."
E-mail: ".$_POST['Mail']."
Message: ".$_POST['Message']."
Reservation: ".$_POST['RadioInfo_demandee1']."
Infos: ".$_POST['RadioInfo_demandee2']."
Jour: ".$_POST['SelArrivee_Jour']."
Mois: ".$_POST['SelArrivee_Mois']."
Annee: ".$_POST['SelArrivee_Annee']."
DepartJour: ".$_POST['SelDepart_Jour']."
Mois: ".$_POST['SelDepart_Mois']."
Annee: ".$_POST['SelDepart_Annee']."


","


From:formulaire");



?>

Re: JE trouve pas le problème !

par Invité » 29 déc. 2011, 21:24

Bon ! Comme le 5. ne change rien et que c'est un résidu de mon ancienne organisation je l'ai viré. Cela ne fonctionne toujours pas alors je vais essayer de positionner ces conditions sous le Post 'Mail'

T_ENCAPSED_AND_WHITESPACE que je ne comprend pas

par memej » 29 déc. 2011, 19:03

Bonsoir
Je n'arrive pas à comprendre pourquoi ce code n'est pas valide :
<?php


mail("[email protected]","Demande d'infos","


Demande de ".$_POST['Nom']." ".$_POST['Prenom']."
if (isset($_POST['Mail']))
 { $Mail = $_POST['Mail']; } else { $Mail = ""; }
 if ($Mail == "") { $reponse = "Vous avez oublié votre adresse e-mail."; }5.if (!eregi("^[a-z0-9._-]+@[a-z0-9.-]{2,}[.][a-z]{2,3}$", $Mail)) { $reponse = "Est-ce bien une adresse email valide ?"; }
Adresse: ".$_POST['Adresse']."
CP: ".$_POST['Cp']."
Ville: ".$_POST['Ville']."
Pays: ".$_POST['Pays']."
E-mail: ".$_POST['Mail']."
Message: ".$_POST['Message']."
Reservation: ".$_POST['RadioInfo_demandee1']."
Infos: ".$_POST['RadioInfo_demandee2']."
Jour: ".$_POST['SelArrivee_Jour']."
Mois: ".$_POST['SelArrivee_Mois']."
Annee: ".$_POST['SelArrivee_Annee']."
DepartJour: ".$_POST['SelDepart_Jour']."
Mois: ".$_POST['SelDepart_Mois']."
Annee: ".$_POST['SelDepart_Annee']."


 ","


From:formulaire");


 
?>
En fait, il fonctionne bien avant que je mette des conditions a 'Mail'
Alors la page affiche : P

Code : Tout sélectionner

arse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/41/d332312648/htdocs/pages/testform2.php on line 10
Quelqu'un a t-il une idée svp
Merci de vos eventuelles réponses