Se connecter / S'enregistrer
Votre question

PB info bulle et W3C

Tags :
  • Echo
  • Programmation
Dernière réponse : dans Programmation
30 Mars 2009 20:42:54

Bonjour, sur le site que je suis entrain de construire, sur une image je veux mettre une info bulle en variable c'est à dire que le contenu de cette info bulle est saisie par l'administrateur du site, puis stockée dans une base de donnée, puis restituée à l'affichage de l'image. Voici le code:

<a href="images/IMG_0263.jpg"> <img src="images/IMG_0263_p.jpg" alt="" title=<?php echo $bulle_photo [0] ?>></a>

Donc dans title je fais un echo d'une variable, ça marche très bien il n'y a pas de problème. Le problème se situe au niveau W3C voici l'erreur entre les 2 rangées d'étoiles:

******************************************************************
# Line 115, character 83:

... IMG_0263_p.jpg" alt="" title=<?php echo $bulle_photo [0] ?> ...
^

Error: an attribute value must be quoted if it contains any character other than letters (A-Za-z), digits, hyphens, and periods; use quotes if in doubt
# Line 115, character 94:

... jpg" alt="" title=<?php echo $bulle_photo [0] ?>></a>
^

Error: echo is not a member of a group specified for any attribute
# Line 115, character 114:

... php echo $bulle_photo [0] ?>></a>
^

Error: end tag for img omitted; end tags are required in XML for non-empty elements; empty elements require an end tag or the start tag must end with />
# Line 115, character 37:

... href="images/IMG_0263.jpg"> <img src="images/IMG_0263_p.jpg ...
^

start tag was here
**************************************************************************

A priori je comprends que title ne peut pas contenir une variable. Si c'est le cas, est-ce vous pourriez me dire comment je peux mettre cette info bulle ? je ne veux pas mettre ça en dur dans le code, je veux que l'administrateur puisse saisir ce qu'il veut dans l'info bulle. Peut-être y-a-t-il une soluce ? merci pour vos réponses.

Autres pages sur : info bulle w3c

31 Mars 2009 10:09:23

A priori, tu as oublié les quotes comme il te le dit au début.

  1. title=<?php echo $bulle_photo [0] ?>


doit être

  1. title="<?php echo $bulle_photo [0] ?>"


Et ça devrait rouler :) 
m
0
l
31 Mars 2009 11:53:49

romainb_idn@idn a dit :
A priori, tu as oublié les quotes comme il te le dit au début.

  1. title=<?php echo $bulle_photo [0] ?>


doit être

  1. title="<?php echo $bulle_photo [0] ?>"


Et ça devrait rouler :) 


OK et merci pour ta réponse, effectivement ça marche au niveau code et au niveau W3C je n'ai plus qu'un warning que voici :
Errors and Warnings
* Line 115, character 84:
... MG_0263_p.jpg" alt="" title="<?php echo $bulle_photo [0]?>"/ ...
^
Warning: character < is the first character of a delimiter but occurred as data

Bon si tu as une idée pour que je n'ai plus ce warning elle sera la bien venue mais sinon pas de problème après tout ce n'est qu'un warning.

Je me permet de profiter de tes compétences pour te demander un autre truc: dans ce code, j'affiche donc une petite image puis quand je clique dessus j'affiche l'image dont le chemin se trouve dans href="tatata" mais cette image s'ouvre dans une fenêtre du navigateur avec la ligne fichier, edition affichage etc la ligne d'adresse dessous etc... je voudrais n'afficher que l'image en précisant la taille etc... quand je positionne height et width dans href= ça ne marche pas. Aurais-tu une idée ? en bref je voudrais qu'en cliquant sur le lien de la petite image, la grande image s'affiche avec rien autour donc pas dans une fenêtre du navigateur. Merci pour ton aide.
m
0
l
Contenus similaires
31 Mars 2009 12:18:33

L'erreur du validateur dit que dans ton src="blablabla" tu as le caractère "<" dans blablabla, ce qui est interdit puisque ça signifie une ouverture de balise. Tu n'aurais pas une erreur du genre : <img src="<<?php.... ou y'aurait un double "<" ?

Sinon, pour ce que tu me dis, le mieux est d'utiliser un composant javascript du type lightbox .

Ça te permet d'afficher l'image seule sur ta page mais sans l'ouvrir dans une nouvelle fenêtre. Après on va vers un niveau un peu plus poussé en javascript, certes...
m
0
l
31 Mars 2009 14:12:49

romainb_idn@idn a dit :
L'erreur du validateur dit que dans ton src="blablabla" tu as le caractère "<" dans blablabla, ce qui est interdit puisque ça signifie une ouverture de balise. Tu n'aurais pas une erreur du genre : <img src="<<?php.... ou y'aurait un double "<" ?

Sinon, pour ce que tu me dis, le mieux est d'utiliser un composant javascript du type lightbox .

Ça te permet d'afficher l'image seule sur ta page mais sans l'ouvrir dans une nouvelle fenêtre. Après on va vers un niveau un peu plus poussé en javascript, certes...


D'accord, merci encore pour ta réponse, j'ai fait ce qu'ils disent dans le lien vers lightbox que tu me donnes, effectivement l'image s'ffiche en très grand format, ensuite il doit y avoir des choses à régler notamment au niveau du lightbox.css, mais ce que je ne comprends pas c'est que si je supprime le fichier lightbox.css en laissant tout le reste il ouvre la fenêtre pareil en très grand format donc avant d'aller dans le lightbox.css faire des modifs, il faut que je comprenne où il passe pour afficher mon image en très grand format. En tout cas merci beaucoup pour ton aide.
m
0
l
31 Mars 2009 14:15:55

En fait il affiche l'image dans sa taille originale donc effectivement si ton image fait 1024x768px, elle prendra cette taille sur la page dans la lightbox.

Par contre, tu peux surement forcer une taille maxi en css en modifiant le lightbox.css afin que l'image soit maxi 800x600 ou autre.

Bon courage !
m
0
l
31 Mars 2009 14:46:38

romainb_idn@idn a dit :
En fait il affiche l'image dans sa taille originale donc effectivement si ton image fait 1024x768px, elle prendra cette taille sur la page dans la lightbox.

Par contre, tu peux surement forcer une taille maxi en css en modifiant le lightbox.css afin que l'image soit maxi 800x600 ou autre.

Bon courage !


pour le moment c'est ça mon problème c'est que j'ai bien mis comme tu peux le voir dans le code ci-dessous rel="light,

<div class="photos">
<div class="lightbox">

<a href="images/IMG_0263.jpg" rel="lightbox" title="my caption"> <img src="images/IMG_0263_p.jpg" alt="" title="<?php echo $bulle_photo [0]?>"/></a>
</div>

</div>

ensuite en dessous de ma classe "photos" qui est référencée dans mon propre fichier css j'ai mis la classe "lightbox" pensant que ça ferait référence aux paramètres indiqués dans lightbox.css pour la classe #lightbox donc à cet endroit j'ai:

#lightbox{ position: absolute; left: 0; width: 60px; height: 80px;z-index: 100; text-align: center; line-height: 0;}

Tu vois que j'ai mis une hauteur de 80px et une largeur de 60px mais ça ne change rien du tout j'ai un affichage en grand ce qui rejoint ce que je te disait tout à l'heure à savoir que si je supprime purement et simplement le fichier lightbox.css il continue de m'afficher la photo en grand format donc ça me confirme que pour le moment je ne passe pas dans le fichier lightbox.css !!!!!! et je ne sais pas pourquoi, mais je ne veux pas t'embêter avec ça j'ai dû oublier un truc qui fait que je n'active pas le fichier lightbox.css
m
0
l
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS