action="<?php echo $_SERVER['PHP_SELF'];?>
Salut,
voila quand j'ecrit ce code ya un message d'erreur :
echo "<FORM METHOD=POST NAME='MonFormulaire' action="<?php echo $_SERVER['PHP_SELF'];?> >";
le message d'erreur est :
Parse error: parse error, unexpected '?' in d:\chakib\trust\test\divers\mes listes.php on line 61
Merci d'avance.
Une simple erreur de syntaxe
Ton erreur vient du fait que tu as essaye d'inclure un code PHP dans un echo. PHP identifie une fermeture de la chaine de caractère au niveau de action=" et un caractère ? qui suit ne fait pas partie de la syntaxe standard.
Pour afficher une variable dans un affichage de type echo, 2 solutions :
- En utilisant les double quotes ("), il suffit de placer le nom de la variable dans la chaîne :
Code:
echo "<FORM METHOD=\"POST\" NAME=\"MonFormulaire\" action=\"$_SERVER['PHP_SELF']\">";
- En utilisant les simple quotes ('), il faut concatener la variable avec la chaîne de caractère en utilisant l'opérateur point (.) :
Code:
echo '<FORM METHOD="POST" NAME="MonFormulaire" action="'.$_SERVER['PHP_SELF'].'">';
Pour information, l'utilisation du double quote nécessite d'échapper les guillemets utilisés dans la chaîne et réciproquement pour les simple quote avec les apostrophes (mais ils sont souvent moins nombreux).
Par ailleurs, la 2nde méthode est plus lisible avec les éditeurs à coloration syntaxique.