Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1426 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Corriger une ligne php

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Corriger une ligne php

n°2008509
t671
Posté le 09-07-2010 à 19:19:38  profilanswer
 

Bonjour,
 
J'ai cette ligne en php, qui est censé afficher une image, et l'agrandir à côté au passage de la souris. Mais j'ai des erreurs dans la ligne dû aux ' et " :
 

Code :
  1. $str.= '<td><a href="#"
  2. onmouseover="showTooltip('<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src="../images/choristes/ ' . $row['photo'] . '" width='500'></div>');"
  3. onmouseout="hideTooltip()"><img id="big" src="../images/choristes/ ' . $row['photo'] . '" width="200" onmouseout="hideTooltip()" /></a>
  4. <div id="bulle"></div></td>';


 
J'ai le message : Parse error: syntax error, unexpected T_CLASS in ..............
Pouvez-vous me corriger cette ligne ?
 
Merci.

mood
Publicité
Posté le 09-07-2010 à 19:19:38  profilanswer
 

n°2008515
omega2
Posté le 09-07-2010 à 20:26:59  profilanswer
 

Si ton texte est entre " ' " alors il te suffit de mettre un " \ " devant chaque  " ' " de ton texte.
Corrige déjà ça et ensuite on verra s'il y a d'autres erreurs.

n°2008596
t671
Posté le 10-07-2010 à 17:01:26  profilanswer
 

omega2 a écrit :

Si ton texte est entre " ' " alors il te suffit de mettre un " \ " devant chaque  " ' " de ton texte.
Corrige déjà ça et ensuite on verra s'il y a d'autres erreurs.


 
Salut omega2,
 
Voilà où j'en suis :
 

Code :
  1. <style type="text/css" media="screen">
  2.  img{ border:none;}
  3.  #bulle { position: absolute; visibility: hidden;  font-size:12px;}
  4.  .info{ border:1px solid #666666; padding: 7px; color:#666666; background-color:#FFFFFF; font-family:"trebuchet MS";}
  5.     </style>
  6. <script type="text/javascript" language="javascript" src="js/infobulle.js"></script>
  7. ........................
  8. $str.= '<td><a href="#" onmouseover="showTooltip(\'<div class="info"><img id="big" src="../images/choristes/' . $row['photo'] . '" width="500"></div>\');" onmouseout="hideTooltip()"><img id="big" src="../images/choristes/' . $row['photo'] . '" width="60" onmouseout="hideTooltip()" /></a><div id="bulle"></div></td>';


 
Là, j'affiche la photo de taille 500, avec dessous la partie du lien ');" onmouseout="hideTooltip()">, et la photo de taille 60 à côté.
Avec et selon la couleur du script, le problème vient suite à "showTooltip" ....  :??:   :pt1cable:


Message édité par t671 le 10-07-2010 à 17:02:23
n°2008626
Nico5779
Posté le 10-07-2010 à 20:29:51  profilanswer
 

tu dois mettre des \ devant les " dans le html que tu passe en paramètre de ta fonction js showTooltip

Message cité 1 fois
Message édité par Nico5779 le 10-07-2010 à 20:30:27

---------------
Créer votre blog gratuitement
n°2008692
t671
Posté le 11-07-2010 à 15:05:32  profilanswer
 

Nico5779 a écrit :

tu dois mettre des \ devant les " dans le html que tu passe en paramètre de ta fonction js showTooltip


 
Ben non, ça marche pô !!!!! J'y arrive pô !!!!!  :cry:    :??:  
Tu peux tester chez toi ? :pt1cable:

n°2008884
omega2
Posté le 12-07-2010 à 18:03:21  profilanswer
 

donc t'as :
du php qui contient de l'html
les balises html contiennent du javascript
le javascript contient lui même de l'html
 
On part du bas vers le haut :  
1) caractère de début et de fin des chaines javascript. Si ce caractère se trouve dans la chaine, alors il doit être échappé (il faut rajouter un \ devant) Si tu as un \ dedans, il doit aussi être échappé
2) ton javascript est dans une balise html : tu prends le caractère de début et de fin du paramètre de la balise qui contient le javascript et tu regardes s'il se trouve dans le code javascript. Tu l'échappes et tu échappes aussi tous les \ qui s'y trouvent.
3) ton code html est dans du php : caractère de début et de fin du texte php. Tu l'échappes et tu échappes aussi tous les \ qui se trouvent dans le texte php.
 
Au final, tu te retrouveras avec un texte qui devrait fonctionner. A noter que c'est normal si tu as 4 ou 8  \ d'affilé. Ca arrive quand on met du javascript dans des balises html qui sont créé par du php.
 
 
En cas de doutes n'hésites pas à regarder le code source de ta page pour regarder quel caractères tu as manqué.

n°2008937
Dj YeLL
$question = $to_be || !$to_be;
Posté le 13-07-2010 à 09:18:56  profilanswer
 

Le fait est qu'il faudrait revoir la conception même du truc à mon avis :o


---------------
Gamertag: CoteBlack YeLL
n°2008952
t671
Posté le 13-07-2010 à 10:54:03  profilanswer
 

:pt1cable:  
 
Là, je me mélange les pinceaux ..... !!!!  :(
 
Mon code javascript + html est un code récupéré sur le web :
 

Code :
  1. <a href="#"
  2. onmouseover="showTooltip('<div class=\'info\'><strong>Logo de presentation</strong><br />ici la photo est la meme<br /><img id=\'big\' src=\img.JPG\' width=\'500\'></div>');"
  3. onmouseout="hideTooltip()"><img id="big" src="img.JPG" width="200" onmouseout="hideTooltip()" /></a>


 
En pure html, il fonctionne ....
Le plus simple serait de couper le code php, écrire le html, et repartir en php. Mais comme le code fait parti d'une égalité ...  :pt1cable:  
Ou alors échappé ce qu'il faut pour qu'il fonctionne en php .... Et c'est ce que je n'arrive pas à faire ....  :cry:  

n°2009002
aideinfo
Posté le 13-07-2010 à 14:34:41  profilanswer
 

Le principe : si tu dois ajouter du code JS/HTML qui contient des " ou ', il faut indiquer dans ton code que ce ne sont pas des fins de chaîne, mais des caractères en les faisant précéder par un \, voire un triple \ si tu as plusieurs "séries" de ' ou ". Ca donne donc ceci :  
 

Code :
  1. <?php
  2. echo "<a href=\"#\"
  3. onmouseover=\"showTooltip('<div class=\'info\'><strong>Logo de presentation</strong><br />ici la photo est la meme<br /><img id=\'big\' src=\'img.JPG\' width=\'500\'></div>');\" onmouseout=\"hideTooltip()\"><img id=\"big\" src=\"img.JPG\" width=\"200\" onmouseout=\"hideTooltip()\" /></a>";
  4. ?>


 
Si tu as plusieurs séries de ' (si tu utilises ' ou au lieu de " dans ton echo notamment) :  
 

Code :
  1. echo '<a href="#"
  2. onmouseover="showTooltip(\'<div class=\\\'info\\\'><.........';


 
Compris ?
 
N.B. : Si tu utilises un éditeur avec coloration syntaxique, tu dois le voir à la couleur du code quand il manque qqch.


Message édité par aideinfo le 13-07-2010 à 14:40:36

---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile
n°2009030
stealth35
Posté le 13-07-2010 à 16:25:09  profilanswer
 

+1 pour la colorisation même dans le forum on peux voir l'erreur
 

Code :
  1. $str.= '<td><a href="#"
  2. onmouseover="showTooltip('<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src="../images/choristes/ ' . $row['photo'] . '" width='500'></div>');"
  3. onmouseout="hideTooltip()"><img id="big" src="../images/choristes/ ' . $row['photo'] . '" width="200" onmouseout="hideTooltip()" /></a>
  4. <div id="bulle"></div></td>';

mood
Publicité
Posté le 13-07-2010 à 16:25:09  profilanswer
 

n°2009057
t671
Posté le 13-07-2010 à 18:22:18  profilanswer
 

J'utilise effectivement un éditeur avec coloration syntaxique, et je me suis apperçu que l'erreur commence au niveau du <div class='info'>. Mais je n'arrive pas à corriger ...  :fou: Je ne sais pas comment faire ....  :??:   :pt1cable:  
 
aideinfo, pourquoi utilises-tu \\\ d'affilé (\'<div class=\\\'info\\\'.......... ?

n°2009065
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 13-07-2010 à 20:07:30  profilanswer
 

pour protéger le protecteur.


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°2009081
aideinfo
Posté le 13-07-2010 à 23:11:22  profilanswer
 

Le caractère \ indique que ce qui suit est un caractère et non un séparateur. Donc, puisque le \ simple a déjà été utilisé, il faut en rajouter deux (le 2è est un caractère, l'autre "l'indicateur" qui précède le caractère). Si tu dois rajouter uen série de \, tu en mettras 5, puis 7, ....


---------------
http://www.aideinfo.com/  Whois adresses IP/domaines le plus évolué !!  FAQ Free Mobile

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Corriger une ligne php

 

Sujets relatifs
modifier une ligne precise d'un fichier texte(JS)Vérifier si un serveur est en ligne avant de faire une redirection
Problème pour modifier la valeur d'une ligne dans un fichiersurligner totalité d'une ligne html
[WLM] statut "Hors ligne" de manière individuelleCopie données usf dans une certaine ligne tableau excel
[VB - Excel] Insertion ligne qui n'incrémente pas formules [résolu]Indiquer numéro de ligne VBA excel
probleme creer une ligne dans une bdd a partir de c++ winformTransformer un code hors ligne en mode en ligne
Plus de sujets relatifs à : Corriger une ligne php


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR