T_CONSTANT_ENCAPSED_STRING
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
je vous contact car lors de la création d'une page web me servant d'accès de contrôle des tarifs sur un site web, j'ai un message d'erreur qui s'affiche
le site est codé en html,php, css et avec une base mysql
lors de l'émulation du site web en local, la page fonctionne correctement et m'affiche la description de la prestation, les tarifs , la possibilité de modifier et de supprimer la ligne dans la base mysql.;
je tri ces ligne par un auto-incrémente que je classe en ordre décroissant
le problème est que lors de la mise en ligne , lors de l'acces a la page qui affiche les tarifs le message suivant s'affiche :
le code de la page en question est la suivante:
je ne pense pas que ce soit les données de connections à la base mysql qui posent problème car j'ai une autre page qui utilise le même fichier .
Une idée ?
<config>Windows 7 / Safari 537.1</config>
je vous contact car lors de la création d'une page web me servant d'accès de contrôle des tarifs sur un site web, j'ai un message d'erreur qui s'affiche
le site est codé en html,php, css et avec une base mysql
lors de l'émulation du site web en local, la page fonctionne correctement et m'affiche la description de la prestation, les tarifs , la possibilité de modifier et de supprimer la ligne dans la base mysql.;
je tri ces ligne par un auto-incrémente que je classe en ordre décroissant
le problème est que lors de la mise en ligne , lors de l'acces a la page qui affiche les tarifs le message suivant s'affiche :
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/dki/public_html/tarifsbackoffice.php on line 1
le code de la page en question est la suivante:
<!DOCTYPE html><!--page en html5 --> <html> <head> <?php include 'head.php';?> </head> <body><!--corp de la page --> <?php session_start();//cookie if (empty($_SESSION['login'])){//login est vide header('Location: login.php');//renvoi à la page login.php exit; } $login=$_SESSION['login'];//on recupere le login de connection ?> <header> <?php include 'headerbackoffice.php';?> </header> <nav> <?php include 'navbackoffice.php';?> </nav> <?php require_once 'includes/database.inc.php'; // Envoi de la requête de lecture de la table tarifs $sql = "SELECT * FROM tarifs ORDER BY numtarifs DESC;"; $result = mysql_query($sql, $db); // A ce point, la varible $result permet de récupérer ligne à ligne // le contenu de la table via la fonction mysql_fetch_assoc(). ?> <section> <h1>Tarifs</h1> <table border="1px" class="tarifsbackoffice"> <tr> <th>N°Tarifs</th> <th>Prestation</th> <th>Tarifs</th> </tr> <?php while($row = mysql_fetch_assoc($result)) { ?> <tr> <td><?php echo $row['numtarifs'] ?></td> <td><?php echo $row['prestation'] ?></td> <td><?php echo $row['tarifs'] ?></td> <td><a href="modifier_tarifs.php?numtarifs=<?php echo $row['numtarifs'] ?>"><font color="brown"><b><?php echo "Modifier"?></b></font></a></td> <td><a href="supprimer_tarifs.php?numtarifs=<?php echo $row['numtarifs'] ?>"><font color="red"><b><?php echo "Supprimer"?></b></font></a></td> </tr> <?php } ?> </table> </section> </body><!--on ferme le body --> </html>
je ne pense pas que ce soit les données de connections à la base mysql qui posent problème car j'ai une autre page qui utilise le même fichier .
Une idée ?
<config>Windows 7 / Safari 537.1</config>
7 réponses
Déja mets ça:
tout au début de ta page avant le DOCTYPE
et regardes l'encodage de ton editeur qui t'a servi a faire la page
<?php session_start();//cookie if (empty($_SESSION['login'])){//login est vide header('Location: login.php');//renvoi à la page login.php exit; } $login=$_SESSION['login'];//on recupere le login de connection ?>
tout au début de ta page avant le DOCTYPE
et regardes l'encodage de ton editeur qui t'a servi a faire la page
toujours pareil :
cela survient dans le navigateur dans la page concernée
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /home/dki/public_html/tarifsbackoffice.php on line 1
cela survient dans le navigateur dans la page concernée
Bonjour
Pas moyen de reproduire l'erreur. D'autant plus absurde que tu avais une erreur php dans une partie qui n'est pas du php...
Le fichier que tu nous montres est-il bien tarifsbackoffice.php ?
Peux-tu donner l'url pour que nous constations aussi l'erreur ?
Pas moyen de reproduire l'erreur. D'autant plus absurde que tu avais une erreur php dans une partie qui n'est pas du php...
Le fichier que tu nous montres est-il bien tarifsbackoffice.php ?
Peux-tu donner l'url pour que nous constations aussi l'erreur ?
Il y a un tas de trucs bizarres sur la page http://www.dki.fr/addtarifs.php... Elle commence déjà par </html>, c'est mal parti.
Mais ça n'explique pas ton problème.
J'ai l'impression que la page qui donne le message d'erreur n'est pas, pour une raison qui m'échappe encore, celle dont tu nous as donné le code.
Peux-tu sauvegarder ta page tarifsbackoffice.php quelque part et mettre un simple
bonjour
(sans balises, sans rien) dans tarifsbackoffice.php, pour voir si tu as toujours l'erreur ou si tu vois bien le 'bonjour' ?
Mais ça n'explique pas ton problème.
J'ai l'impression que la page qui donne le message d'erreur n'est pas, pour une raison qui m'échappe encore, celle dont tu nous as donné le code.
Peux-tu sauvegarder ta page tarifsbackoffice.php quelque part et mettre un simple
bonjour
(sans balises, sans rien) dans tarifsbackoffice.php, pour voir si tu as toujours l'erreur ou si tu vois bien le 'bonjour' ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est le genre d'erreur pour lesquels on s'arrache parfois les cheveux.
J'ai eu la même récemment et le problème venait d'un espace !
Donc supprime les espaces présents à la première ligne de ton code, même si se sont des espaces qui n'ont aucunes utilités sauf l'indentation mais parfois ca fait bugué la page sans raison valable.
J'ai eu la même récemment et le problème venait d'un espace !
Donc supprime les espaces présents à la première ligne de ton code, même si se sont des espaces qui n'ont aucunes utilités sauf l'indentation mais parfois ca fait bugué la page sans raison valable.
J'ai un début d'explication, mais un début seulement.
Ton fichier tarifsbackoffice.php a une grosse différence avec les autres dont tu m'as envoyé le code : le passage à la ligne est codé par un simple CR (0D) et non pas par un CRLF (0D 0A). Si tu suis les liens que tu m'as envoyés, tu vois bien que tarifsbackoffice.php est représenté dans Dropbox comme étant constitué d'une seule ligne, alors que backoffice.php est bien constitué de plusieurs lignes.
Ceci explique l'inexplicable 'erreur ligne 1' : ton fichier est analysé comme étant constitué d'une seule ligne, donc peu importe où est l'erreur, php considère que c'est la ligne 1.
Sauf que... normalement, php accepte CR seul ou LF seul ou CRLF indifféremment. Il ne devrait donc pas y avoiir d'erreur. J'ai essayé chez moi et je n'en ai pas - en tout cas, pas de parse error.
Je te renvoie le fichier avec les CR transformés en CRLF et l'extension en .txt (Cjoint n'a pas l'air d'aimer .php)
https://www.cjoint.com/?BHukjRmf3O8
Peux-tu dire si ça va mieux ?
Pour les choses très bizarres que j'avais vues la première fois (balise </html dès le départ), je ne les vois plus
Ton fichier tarifsbackoffice.php a une grosse différence avec les autres dont tu m'as envoyé le code : le passage à la ligne est codé par un simple CR (0D) et non pas par un CRLF (0D 0A). Si tu suis les liens que tu m'as envoyés, tu vois bien que tarifsbackoffice.php est représenté dans Dropbox comme étant constitué d'une seule ligne, alors que backoffice.php est bien constitué de plusieurs lignes.
Ceci explique l'inexplicable 'erreur ligne 1' : ton fichier est analysé comme étant constitué d'une seule ligne, donc peu importe où est l'erreur, php considère que c'est la ligne 1.
Sauf que... normalement, php accepte CR seul ou LF seul ou CRLF indifféremment. Il ne devrait donc pas y avoiir d'erreur. J'ai essayé chez moi et je n'en ai pas - en tout cas, pas de parse error.
Je te renvoie le fichier avec les CR transformés en CRLF et l'extension en .txt (Cjoint n'a pas l'air d'aimer .php)
https://www.cjoint.com/?BHukjRmf3O8
Peux-tu dire si ça va mieux ?
Pour les choses très bizarres que j'avais vues la première fois (balise </html dès le départ), je ne les vois plus
Je n'utilise pas notepad++, mais l'explication est sans doute là :
https://superuser.com/questions/220472/notepad-new-line-only-inserting-cr-when-opening-empty-file-0-byte-text-file-c
Remarque : il n'y a plus de </html>, mais en fait il reste des tonnes de bizarreries dès ta page d'accueil (un <ul> sans </ul>, un </table> sans <table>, deux <div> avec le même id... je n'ai pas cherché les détails
https://superuser.com/questions/220472/notepad-new-line-only-inserting-cr-when-opening-empty-file-0-byte-text-file-c
Remarque : il n'y a plus de </html>, mais en fait il reste des tonnes de bizarreries dès ta page d'accueil (un <ul> sans </ul>, un </table> sans <table>, deux <div> avec le même id... je n'ai pas cherché les détails