pb code php

Mathilde
Invité n'ayant pas de compte PHPfrance

30 nov. 2011, 14:33

Bonjour,

Je souhaitais ajouter une information sur la page d'accueil d'un blog, donc je suis passée par la page header.php

J'ai dû effacer une ponctuation quelque part car le message suivant est apparu quand j'ai voulu voir le résultat de la modif en ligne :

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /homez.335/lilwease/www/blog/wp-content/themes/mt-white/header.php on line 67

L'erreur serait contenue dans le paragraphe suivant (car le blog réapparaît, avec une mise en page partielle, qd je le supprime) :

<ul class=" grid_7">
<li <?php if (is_home()) { echo "class="current_page_item"";} ?> > <a href="<?php echo get_settings('home'); ?>/" title="<?php _e('Home'); ?>"><?php _e('Home'); ?></a></li>
<?php wp_list_pages('title_li=&sort_column=menu_order&depth=3');} ?>
</ul>

Quelqu'un pourrait-il m'aider à retrouver et corriger mon erreur s'il-vous-plaît ? Merci d'avance.

Mathilde

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 nov. 2011, 14:42

salut,

le problème ne viens du bout de code que tu présente.

en règle général la source du problème est avant la ligne indiquée dans le message d 'erreur (ici la ligne 67 de /homez.335/lilwease/www/blog/wp-content/themes/mt-white/header.php)

@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 7 Messages

30 nov. 2011, 15:10

Bonjour,

Merci pr la réponse.

Alors si je remonte dans le code, j'ai ceci juste avant :


<div class="clear"></div>
</div>
</div>
<div id="nav" >
<div class="container_12">

Mathilde

ViPHP
xTG
ViPHP | 7331 Messages

30 nov. 2011, 15:16

Le problème vient du fait que tu n'échappes pas tes quotes.
echo "<a href="test.html">test</a>"; // incorrect
echo "<a href=\"test.html\">test</a>"; // correct

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

30 nov. 2011, 15:18

alors le plus simple c'est utiliser un ide (comme netbeans, zend studio, ou plein d'autre) il va te mettre le tout en couleur et te montrer l'erreur.
la tu montre du html.


edit xTG : ha oui tiens j'avais pas vu les " dans le class j'deviens mirro :/
@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 7 Messages

30 nov. 2011, 15:50

Merci pr votre aide... j'ai tenté quelques \ mais sûrement pas au bon endroit car cela n'a rien changé.

<div class="clear"></div>
</div>
</div>
<div id="nav" >
<div class="container_12">
<ul class=" grid_7">
<li <?php if (is_home()) { echo "class="current_page_item"";} ?> > <a href="<?php echo get_settings('home'); ?>/" title="<?php _e('Home'); ?>/"><?php _e('Home'); ?></a></li>
<?php wp_list_pages('title_li=&sort_column=menu_order&depth=3'); ?>
</ul>

Est-ce-que le souci vient bien de cet endroit ?
{ echo "class="current_page_item"";}

Bref, je suis en mode panique et je ne sais pas où modifier :(

sbomb
Invité n'ayant pas de compte PHPfrance

30 nov. 2011, 16:03

essaye comme ca:
<?php if (is_home()) { echo "class=\"current_page_item\"";} ?>

sbomb
Invité n'ayant pas de compte PHPfrance

30 nov. 2011, 16:10

Tu as pas essayé en remplaçant la ligne que j'ai cité?

Petit nouveau ! | 7 Messages

30 nov. 2011, 16:14

si, je viens de comprendre une chose :

je modifie en mettant bien \ devant ", puis je clique sur Mettre à jour le fichier, et une fois la mise à jour enregistrée, les \ ont disparu comme par magie... dc l'erreur persiste.

Eléphanteau du PHP | 15 Messages

30 nov. 2011, 16:19

Pour quel type de blog est-ce?
Es tu sure que les modifications se font lorsque tu effectues les modif? Pour le savoir remplace quelque chose autre que les " pour savoir si sa vient de ça ou simplement de droits que tu ne possède peut-être pas?

Car dans tous les cas, si tu échappes pas ces " comme précédemment dit, ça ne fonctionnera pas.

EDIT: il faut peut-être que tu upload de nouveau le fichier après l'avoir enregistré aussi, selon comment tu travails

Petit nouveau ! | 7 Messages

30 nov. 2011, 16:22

C'est un blog sous Wordpress.
Je modifie la page header.php du thème, avec un compte administrateur donc a priori c ok de ce côté-là.
Si j'enlève tt le paragraphe de la page, il me remet en ligne une page d'accueil, avec les éléments de ce paragraphe en moins of course.

ViPHP
xTG
ViPHP | 7331 Messages

30 nov. 2011, 16:22

Tu utilises quel logiciel pour faire la modification ?

Edit: c'est surement un traitement qui supprime les échappements dans ce cas. Ne peux-tu pas modifier directement le fichier plus tôt que de passer par l'interface ?

Petit nouveau ! | 7 Messages

30 nov. 2011, 16:26

Je travaille depuis le tableau de bord Wordpress.
Je n'ai pas accès au serveur pr remplacer directement la page header.php
Je regarde sur les autres pages, et je ne trouve pas de symboles d'échappement...
Il existe une solution pr contourner ce souci ?

Eléphanteau du PHP | 15 Messages

30 nov. 2011, 16:36

Est-ce que les erreurs que tu as sont celle qui corresponde au ligne que tu as voulu ajouter? Sinon le problème est peut-être totalement autre part...

Petit nouveau ! | 7 Messages

30 nov. 2011, 16:44

je pense que c'est à cet endroit, car c'est entre ces deux paragraphes que j'ai voulu insérer des lignes ce matin, et j'ai dû effacer un peu trop vite des caractères... et depuis c'est panique pour remettre le bon ordre.

<ul class=" grid_7">
<li <?php if (is_home()) { echo 'class="current_page_item"';} ?> > <a href="<?php echo get_settings('home'); ?>/" title="<?php _e('Home'); ?>"><?php _e('Home'); ?></a></li>
<?php wp_list_pages('title_li=&sort_column=menu_order&depth=3');} ?>
</ul>

<a class="rss" href="<?php bloginfo('rss2_url'); ?>" title="<?php _e('Syndicate this site using RSS'); ?>">
<img src="<?php bloginfo('template_directory'); ?>/img/rss.jpg" alt="<?php _e('Syndicate this site using RSS'); ?>" />
</a>