T_CONSTANT_ENCAPSED_STRING

Résolu/Fermé
Utilisateur anonyme - 16 août 2012 à 18:13
 Utilisateur anonyme - 20 août 2012 à 12:29
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 :

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

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
17 août 2012 à 15:44
Déja mets ça:

<?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
0
Utilisateur anonyme
17 août 2012 à 16:11
toujours pareil :
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
0
Utilisateur anonyme
17 août 2012 à 17:03
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 ?
0
Utilisateur anonyme
17 août 2012 à 17:30
et il s'agit bien du fichier tarifsbackoffice.php
0
Utilisateur anonyme
17 août 2012 à 17:57
je viens de vous envoyer les identifiants par mail
0
Utilisateur anonyme
17 août 2012 à 18:43
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' ?
0
Utilisateur anonyme
19 août 2012 à 13:56
Lors d'une modification de la page , si je ne met que bonjour, la page m'affiche bonjour rien d plus . En soit elle joue sont role donc je pense mais sa n'est que mon avis que la page est bonne . Veux tu que je te mette a disposition les fichiers du site ?
0
Utilisateur anonyme
19 août 2012 à 15:30
Je veux bien, le fichier tarifsbackoffice.php seul pour l'instant
0
Utilisateur anonyme
19 août 2012 à 20:09
Envoi moi une adresse mail ou te l'envoyer par message prive si tu veux bien
0
Utilisateur anonyme
19 août 2012 à 21:13
Clique sur mon nom, tu verras mon profil. Vers la droite, il y a un bouton "lui écrire"
0
Utilisateur anonyme
20 août 2012 à 01:25
liens envoyé par mp
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mimigenie Messages postés 1180 Date d'inscription dimanche 3 janvier 2010 Statut Membre Dernière intervention 4 août 2018 312
19 août 2012 à 14:35
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.
0
Utilisateur anonyme
20 août 2012 à 10:14
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
0
Utilisateur anonyme
20 août 2012 à 10:34
effectivement , je l'ai ai modifier ne comprenant pas moi même ce que cela faisait ici.
Je vais tester les fichier s un peu plus tard, saurais tu m'expliquer comment j'ai pu créer deux types de php différents ? je code sous notepad++ et ai créer les fichiers de la même façon
0
Utilisateur anonyme
20 août 2012 à 10:50
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
0
Utilisateur anonyme
20 août 2012 à 12:29
je vais rectifier ces incompréhensions , cela étant encore merci pour votre aide le site fonctionne dorénavant .
encore merci
0
Utilisateur anonyme
20 août 2012 à 12:27
Bonjour à tous
Problème réglé, merci à le père et aux autres pour votre aide .
sans vous, une chose est sur je n'y serais pas arrivé seul.
merci
comme a dit mimigénie :"C'est le genre d'erreur pour lesquels on s'arrache parfois les cheveux."
éfféctivement je n'en étais pas loin .
merci
0