Discussion:
Question de syntaxe
(trop ancien pour répondre)
Raphael
2013-05-02 17:58:24 UTC
Permalink
Bonjour,

je suis actuellement chez OVH en hébergement où la version de php est
5.2.17 et j'ai un problème de syntaxe. Lorsque j'écris mon code de la
façon suivante :

<?php
echo toto;
?>

j'obtiens l'erreur :

Parse error: syntax error, unexpected T_STRING in
/homez.713/neworker/www/test.php on line 1

qui disparait si j'ecris :

<?
echo toto;
?>

sans le php donc. De même, si j'écris des commentaires dans mon code
avec un double slash :

<?
// test echo
echo toto;
?>

Là, plus rien ne s'affiche à l'écran. Est-ce normal?

Merci pour votre réponse.

Raphael
Denis Beauregard
2013-05-02 18:32:48 UTC
Permalink
Post by Raphael
Bonjour,
je suis actuellement chez OVH en hébergement où la version de php est
5.2.17 et j'ai un problème de syntaxe. Lorsque j'écris mon code de la
<?php
echo toto;
?>
Parse error: syntax error, unexpected T_STRING in
/homez.713/neworker/www/test.php on line 1
Ce qui est normal. Il faut écrire

echo $toto;

C'est la base du PHP.
Post by Raphael
<?
echo toto;
?>
sans le php donc. De même, si j'écris des commentaires dans mon code
C'est un commentaire. Le mot php est requis en PHP 5. Ce qui explique
pourquoi certains sites ne fonctionnent plus.
Post by Raphael
<?
// test echo
echo toto;
?>
Là, plus rien ne s'affiche à l'écran. Est-ce normal?
Pourquoi ne pas trouver un des tutoriaux dans Internet pour avoir une
bonne base ?


Denis
Raphael
2013-05-02 18:51:15 UTC
Permalink
Post by Denis Beauregard
Post by Raphael
Bonjour,
je suis actuellement chez OVH en hébergement où la version de php est
5.2.17 et j'ai un problème de syntaxe. Lorsque j'écris mon code de la
<?php
echo toto;
?>
Parse error: syntax error, unexpected T_STRING in
/homez.713/neworker/www/test.php on line 1
Ce qui est normal. Il faut écrire
echo $toto;
C'est la base du PHP.
Post by Raphael
<?
echo toto;
?>
sans le php donc. De même, si j'écris des commentaires dans mon code
C'est un commentaire. Le mot php est requis en PHP 5. Ce qui explique
pourquoi certains sites ne fonctionnent plus.
Post by Raphael
<?
// test echo
echo toto;
?>
Là, plus rien ne s'affiche à l'écran. Est-ce normal?
Pourquoi ne pas trouver un des tutoriaux dans Internet pour avoir une
bonne base ?
Denis
Merci pour cette réponse, je sais que je manque un peu de rigueur mais
si je demande dans un forum c'est que je ne trouve pas ce que je cherche
dans un tutoriel. Et je répète, l'erreur vient quand j'écris php après
"<?", quelque soit le code. j'ai même fait des copier-coller de code que
j'ai trouvé sur internet et à chaque fois que dans le code il y a
"<?php", j'ai une erreur de syntaxe. Pouvez-vous m'aider à comprendre
pourquoi???
denisb
2013-05-02 18:34:19 UTC
Permalink
Post by Raphael
<?php
echo toto;
?>
echo "toto";

toto n'étant ni une variable ($toto) ni une constante
il faut encadrer la valeur par des quotes (simples ou doubles).
Post by Raphael
<?
echo toto;
?>
sans doute les short tags (<?) ne sont pas acceptés ;
rien n'est donc parsé.
Post by Raphael
<?
// test echo
echo toto;
?>
idem.
--
@@@@@
E -00 comme on est very beaux dis !
’ `) /
|\_ ==”
Raphael
2013-05-02 18:57:33 UTC
Permalink
Post by denisb
Post by Raphael
<?php
echo toto;
?>
echo "toto";
toto n'étant ni une variable ($toto) ni une constante
il faut encadrer la valeur par des quotes (simples ou doubles).
Oui oui, évidemment, mais même quand j'écris cela j'ai une erreur :


Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in
/homez.713/neworker/www/test.php on line 1
Post by denisb
Post by Raphael
<?
echo toto;
?>
sans doute les short tags (<?) ne sont pas acceptés ;
rien n'est donc parsé.
Post by Raphael
<?
// test echo
echo toto;
?>
idem.
Denis Beauregard
2013-05-02 20:55:41 UTC
Permalink
Post by Raphael
Post by denisb
Post by Raphael
<?php
echo toto;
?>
echo "toto";
toto n'étant ni une variable ($toto) ni une constante
il faut encadrer la valeur par des quotes (simples ou doubles).
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in
/homez.713/neworker/www/test.php on line 1
Avec ceci ?

<?php echo "toto"; ?>

Pas d'erreur chez moi pourtant.


Denis
Raphael
2013-05-02 21:17:39 UTC
Permalink
Post by Denis Beauregard
<?php echo "toto"; ?>
Merci énormément, je viens de comprendre pourquoi. Le retour à la ligne
n'introduit pas d'espace entre "php" et la commande suivante qui est
"echo" dans dreamweaver.

Quand j'écris :

<?php
echo "toto";
?>

Le navigateur voit ceci :

<?phpecho "toto";?>

Merci encore.
Pierre Maurette
2013-05-05 18:55:50 UTC
Permalink
Post by Raphael
Post by Denis Beauregard
<?php echo "toto"; ?>
Merci énormément, je viens de comprendre pourquoi. Le retour à la ligne
n'introduit pas d'espace entre "php" et la commande suivante qui est "echo"
dans dreamweaver.
<?php
echo "toto";
?>
<?phpecho "toto";?>
Vous avez peut-être, sans doute, un problème avec vos caractères de fin
de ligne. Je n'ai pas essayé de le reproduire en PHP, mais un script
Python débutant par:
#! /usr/bin/env python
# -*- coding: utf-8 -*-
se lance automatiquement dans un de mes Linux. Sauf si les fins de
lignes sont en CRLF (0x0D 0x0A), /à la Windows/. Il me semble que
j'avais constaté que dans ce cas, c'était l'exécutable python# qui
n'était pas trouvé, et pour cause. En réalité, la seconde ligne importe
peu, en particulier le fait que /ça parle d'encodage/ n'a rien à voir.

J'utilise peu Dreamweaver. Vous pouvez afficher les caractères de fin
de ligne. Vous pouvez paramétrer le type de caractère de fin de ligne
par défaut. Je suppose que sur des fichiers existants, il ne les
modifie pas. Vous pouvez paraméter vos transferts FTP en mode binaire
ou texte. Normalement, on devrait attendre qu'un transfert en mode
texte d'un fichier CRLF (Windows) l'écrive en LF (Unix) sur un serveur
Linux, mais je n'en suis pas certain.

Pour ce genre de recherche et éventuellement de traitement, à partir de
Windows, le mieux serait peut-être d'utiliser (par exemple) Notepad++
et son plugin intégré NppFTP. Là, vous pouvez éditer directement sur le
serveur, voir vos fins de lignes, les modifier en un clic, etc.

J'utilise parfois Notepad++ de cette façon, pour des rustines, ou pour
mettre l'existant en conformité, mais ma façon normale de travailler
c'est, en général dans un Eclipse, positionner par défaut mes fichiers
en Unix et UTF-8, et les transferts en binaire. Je peux d'ailleurs tout
faire à partir d'Eclipse, y compris le travail directement sur les
serveurs. Voyez si ce qui est possible avec Dreamweaver, à priori tout
sauf la modification après coup des fins de lignes, enfin, je ne sais
pas le faire.
--
Pierre Maurette
Olivier Miakinen
2013-05-05 20:56:59 UTC
Permalink
Post by Pierre Maurette
Post by denisb
<?php
echo "toto";
?>
<?phpecho "toto";?>
Vous avez peut-être, sans doute, un problème avec vos caractères de fin
de ligne.
Je suis persuadé que c'est bien ça le problème. Le User-Agent du
nouvelleur de Raphaël indique qu'il est sur Macintosh, or la fin de
ligne traditionnelle sur Mac était (est ?) CR seul au lieu de LF
seul (Unix) ou de CRLF (Windows et standards Internet).
Post by Pierre Maurette
J'utilise peu Dreamweaver. Vous pouvez afficher les caractères de fin
de ligne. Vous pouvez paramétrer le type de caractère de fin de ligne
par défaut.
Probablement, et ça a des chances de résoudre le problème.

Cordialement,
--
Olivier Miakinen
Raphael
2013-05-07 00:29:09 UTC
Permalink
Post by Olivier Miakinen
Post by Pierre Maurette
Post by denisb
<?php
echo "toto";
?>
<?phpecho "toto";?>
Vous avez peut-être, sans doute, un problème avec vos caractères de fin
de ligne.
Je suis persuadé que c'est bien ça le problème. Le User-Agent du
nouvelleur de Raphaël indique qu'il est sur Macintosh, or la fin de
ligne traditionnelle sur Mac était (est ?) CR seul au lieu de LF
seul (Unix) ou de CRLF (Windows et standards Internet).
Post by Pierre Maurette
J'utilise peu Dreamweaver. Vous pouvez afficher les caractères de fin
de ligne. Vous pouvez paramétrer le type de caractère de fin de ligne
par défaut.
Probablement, et ça a des chances de résoudre le problème.
Cordialement,
Merci à toi Pierre, ainsi qu'à Olivier. Je pense que le problème vient
effectivement de là. Je suis bien sous Mac et j'ai remarqué que ce
problème est survenu depuis que je suis passé à la version CS6 de Adobe.
Je viens de faire une modification d'un site que j'avais réalisé il y a
un an et en faisant la synchro avec ma copie local depuis Dreamweaver,
plus aucun script ne fonctionnait. J'ai refais une copie avec Transmit
(c'est un client FTP) et tout est redevenu normal. Je n'ai pas le temps
de chercher dans les réglages pour le moment, mais dés que j'aurai pu
vérifier je posterai une réponse pour d'autres à qui le problème arriverait.
Raphael
2013-05-07 02:01:44 UTC
Permalink
Post by Raphael
Post by Olivier Miakinen
Post by Pierre Maurette
Post by denisb
<?php
echo "toto";
?>
<?phpecho "toto";?>
Vous avez peut-être, sans doute, un problème avec vos caractères de fin
de ligne.
Je suis persuadé que c'est bien ça le problème. Le User-Agent du
nouvelleur de Raphaël indique qu'il est sur Macintosh, or la fin de
ligne traditionnelle sur Mac était (est ?) CR seul au lieu de LF
seul (Unix) ou de CRLF (Windows et standards Internet).
Post by Pierre Maurette
J'utilise peu Dreamweaver. Vous pouvez afficher les caractères de fin
de ligne. Vous pouvez paramétrer le type de caractère de fin de ligne
par défaut.
Probablement, et ça a des chances de résoudre le problème.
Cordialement,
Merci à toi Pierre, ainsi qu'à Olivier. Je pense que le problème vient
effectivement de là. Je suis bien sous Mac et j'ai remarqué que ce
problème est survenu depuis que je suis passé à la version CS6 de Adobe.
Je viens de faire une modification d'un site que j'avais réalisé il y a
un an et en faisant la synchro avec ma copie local depuis Dreamweaver,
plus aucun script ne fonctionnait. J'ai refais une copie avec Transmit
(c'est un client FTP) et tout est redevenu normal. Je n'ai pas le temps
de chercher dans les réglages pour le moment, mais dés que j'aurai pu
vérifier je posterai une réponse pour d'autres à qui le problème arriverait.
Je viens de vérifier et effectivement le problème venait d'un réglage de
préférence dans Dreamweaver qui faisait des saut de ligne "à la mode"
Macintosh. C'est une option que l'on peut modifier. Voici le lien vers
le site de adobe qui donne des explications :

http://help.adobe.com/fr_FR/dreamweaver/cs/using/WSc78c5058ca073340dcda9110b1f693f21-7be0a.html#WSc78c5058ca073340dcda9110b1f693f21-7bdda

Qui dit ceci :

<<Type de saut de ligne Permet d'indiquer le type de serveur distant
(Windows, Macintosh ou UNIX) qui hébergera votre site. Le choix du type
de caractères de saut de ligne approprié (CR, CR/LF, LF) garantit que
votre code source HTML s'affiche correctement lorsqu'il est affiché à
partir du serveur distant. Ce paramètre est également utile lorsque vous
travaillez avec un éditeur de texte externe qui ne reconnaît que
certains types de retours de chariot. Par exemple, utilisez CR/LF
(Windows), si votre éditeur de texte est le Bloc-notes de Windows, et CR
(Macintosh) s'il s'agit de SimpleText.>>

Loading...