par
AB » 29 avr. 2010, 17:50
yes sir!
echo "<td><select name="nominvte" >";
La mon erreur c'est quoi si je traduit le message c'est un problême d'entier et le reste ...?
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\Program Files\EasyPHP-5.3.2i\www\formulaire invention.php on line 33
Même si tu n'es pas un as en anglais, tu auras vite fait de comprendre les messages d'erreur php car il emploi une syntaxe pauvre accessible à tous.
Ici ça commence par - syntax error => erreur de syntaxe
Ensuite - unexpected T_STRING => sachant que T_STRING est une chaine de caractères, cela donne "Chaine de caractères inattendue"
Ensuite - expecting ',' or ';'... => ',' ou ';' sont attendus à la ligne 33 du fichier C:\Program Files\EasyPHP-5.3.2i\www\formulaire invention.php
Dans l'ensemble cela veut dire qu'après ton second ' " ' qui délimite ta chaine de caractères, il n'y a
- pas de symbole ' ; ' qui indique la fermeture d'une ligne
- ni le symbole ' , ' qui permet de séparer les arguments d'une fonction (ici echo)
Dans le contexte où tu as écrit ton code, php attendait donc l'une ou l'autre de ces alternatives.
Or en lieu et place il trouve la chaine de caractère : nominvte donc il y a une erreur de syntaxe.
Et php ne s'embrouille pas puisqu'il t'a bien indiqué une erreur de syntaxe.
Ensuite il ne peut pas savoir si tu as oublié un des deux symboles cité plus haut où si tu t'es planté en oubliant d'échapper le second ' " ' qui indique la fin de la chaine de caractères que tu as commencée avec "<td>...
Pour afficher du code html, il est très très souvent beaucoup plus facile de commencer la chaine par des quotes plutôt que par des doubles quotes, donc préfère la seconde solution indiquée par
stealth35 soit :
echo '<td><select name="nominvte" >';
et n'utilise la seconde (echo "<td><select name=\"nominvte\" >";) que si tu constate que la première syntaxe est difficile en raison d'un contexte particulier.