5326 sujets

Sémantique web et HTML

Pages :
Encore ...
Dans ma page html, j'ai ça :

		<div class="img">
		source : <span  id = 'source'></span>
		<p>	  <img src id = 'source'></p>
		</div>

dans source, j'ai bien l'url de l'image désirée.
Mais je ne sais pas comment atteindre cette image.
J'avais vu, dans un de vos forum, une possibilité d'utiliser une variable, mais à l'époque, je n'y avais prêté qu'un oeuil distrait. Et maintenant que j'en aurai besoin, je suis incapable de retrouver le post.
Et je suppose que pour :

<a href = 'id= "retour"'>Retour aux documents</a>     

c'est le même mécanisme.
Qui pourrait m'aider ?
Merci d'avance
H.
Meuh non, Kerlutinoec !
J'ai bien un 'id' pour l'url de mon image, id = 'source', et une autre pour l'url de la page de retour id= 'retour' !
H.
Modérateur
Il veut dire que dans :
<div class="img">
	source : <span  id='source'></span>
	<p><img src id='source'></p>
</div>

le span et l'img ont le même ID et un ID doit être unique.

Et sinon j'ai du mal a voir ce que tu veut faire là :
<a href='id="retour"'>Retour aux documents</a> 

c'est un path qui doit etre dans le href
OK, Merci de vos observations.
En effet, j'ai utilisé par inadvertance le même id, mais ce n'est que pour vérifier ce que je reçois.
Pour <img src = , j'aimerais afficher l'image dont l'url est contenue dans la variable id = "source"
Et pour <a href = , j'aimerai aller à la page dont l'url est contenu dans la variable id = "retour".
Il me revient maintenant que l'exemple dan le forum resssemblait à ça :

<a href .=  xxxxxx

Avec des quotes et des parenthèses (?)
Encore merci
H.
Modérateur
Salut,

En html ca n'existe pas. un id en html c'est pas vraiment une variable réutilisable ailleurs dans le code, c'est plutôt un paramètre. Ou alors c'était le <source> dont j'ai parlé plus haut pour gérer les différentes tailles d'images. Sinon c'est en PHP ou en Js que ca peut etre fait.
Eh bin !!!
En voilà enfin une bonne réponse !
Merci
Et à part ça, comment je fais ? En JS ?
Cordialement
H.
Modérateur
Bzhorace a écrit :
Et à part ça, comment je fais ? En JS ?

Le plus simple aurait été en PHP. En Js c'est un poil plus relou à faire. Mais sinon je ne vois pas l'intérêt de s'embêter a faire ca plutôt que de copier 2 fois l'URL dans le HTML... C'est quoi ton but ? Pourquoi tu veux faire ca plutôt que de mettre 2 fois l'url ? Tu en as beaucoup a faire sur ta page ? Ce sont des liens générés ou c'est toi qui les tape a la main ?
Salut Laurent,
Merci de ta réponse. En fait, ce sont des liens générés en fonctions de choix préalables.
En PHP ? Je suis preneur si tu me donnes quelques indications car je ne manie pas trop PHP !
Jai bien une petite idée, quelque chose comme ça :

<a href = 
			<?php  echo $_GET['retour'];?>
>Retour au choix d'entités</a>

Serait-ce aussi simple que ça ? Alors que je me torture le cerveau depuis quelques jours !
Merci !
H.
Modérateur
c'est meme carrément ça (sans les espaces autour des = et avec des doubles quote) :

<a href="<?php  echo $_GET['retour']; ?>">Retour au choix d'entités</a>


Par contre il faut que ta page soit .php et non .html et que ton serveur gère le php Smiley smile
Modifié par _laurent (05 Jun 2021 - 22:11)
Merci Laurent,
Pas de problème, ma page est bien en PHP, et j'utilise EasyPHP sur ma machine de test.
Et sur mon site, il y a PHP 7.4 installé, et testé !

Mais je suis tombé sur un drôle de truc !
La <div de ma page :

		<div class="img">
<!-- Test  de visibilité --->
		source : <span  id = 'source'></span>
		<?php echo $_GET ['source'];?>
<!-- Fin test de visibilité-->
		<p>	  <img src="<?php echo $_GET['source'];?>" alt="Raté">  </p>-->
		</div>

		<footer class="pied">
			<!-- Pied de page -->
			<a href="<?php echo $_GET['retour'];?>">Retour aux documents</a>                                   			
		</footer> <!-- Fin du pied de page -->

Et le script JS utilisé :

	function addsource()
	{
		var parametres = location.search.substring(1).split("&");
		var temp = parametres[0].split("=");
		l = unescape(temp[1]);
		l = l.replace(/\+/g,' ');
		var dat = l;

		let jour = dat.substr( -2);
		jour;
		let mois = dat.substr(3, 2);
		mois;

		let annee = dat.substr(0, 2);
		annee;
		var datec = jour + ' ' + mois + ' 20' + annee
		document.getElementById("date").innerHTML = datec;
		
		var temp = parametres[1].split("=");
		d = unescape(temp[1]);
		d = d.replace(/\+/g,' ');
		var cle = d;
		
		var temp = parametres[2].split("=");
		c = unescape(temp[1]);
		c = c.replace(/\+/g,' ');
		var texte = c;
		document.getElementById("libelle").innerHTML = texte;

		var temp = parametres[3].split("=");
		e = unescape(temp[1]);
		e = e.replace(/\+/g,' ');
		var ext = e;
		var source = 'documents/' + dat + cle + texte + ext;
		document.getElementById("source").innerHTML = source;	

		var temp = parametres[4].split("=");
		r = unescape(temp[1]);
		r = r.replace(/\+/g,' ');
		var retour = r;
		document.getElementById("retour").innerHTML = retour; 
};

Jusqu-là, rien de bien sorcier !
Mais ça se gâte ...
Dans le footer, le retour se passe bien, je reviens bien dans la page appelante, avec les paramètres corrects.
Mais pour l'image, rien ! J'ai juste l'affichage .du alt="Raté"
Aussi sec, je me mets deux lignes de test.
A la première ligne test, le <span affiche bien contenu de "source" dans id, comme ceci :

source : documents/04.09.24SDA01Contrat original 2004.jpg

Mais a la deuxième ligne test, le echo $_GET, lui, n'affiche rien !

Notice: Undefined index: source in C:\WorkSite\EasyPHP-12.1\www\Safe\page.php on line 35
Raté 

A Concarneau, je me pose des questions !
A quel moment PHP perd-il le contenu ?
Ais-je oublié quelque chose ?
Ais-je fait faux quelque-part ?
Ca me dépasse !
Si tu as une idée !
Merci d'avance
H.
Modérateur
Bonsoir,

Bzhorace a écrit :
Problème de portées de mes variables ?

plutôt une typo :
$_GET ['source'] tu as un espace entre $_GET et ['source'] tu devrais avoir
$_GET['source']

Enfin, pour le alt, probable que le lien ne soit pas juste, est ce que documents/04.09.24SDA01Contrat original 2004.jpg est dans un sous dossier de Safe où se trouve page.php ?

cdt,
GC
Modifié par gcyrillus (07 Jun 2021 - 21:03)
Salut,
Merci encore un fois ...
Oui, mon document 04.09.24SDA01Contrat original 2004.jpg est bien dans le
sous-dossier documents dans Safe !

Donc ce n'est pas dans cette direction que j'ai lancé me recherches.
J'avais eu une idée, que 'source' pouvait être un mot réservé à cause de RegExp.prototype.source, et j'ai changé de 'source' à 'imgsrc', mais c'est toujours pareil !
Je ne sais plus ou chercher, et j'ai épuisé mon stock d'aspirine ! Aurais-je le mauvais oeuil ?
Une grande crise de désespoir !
Si tu as une idée. ou une piste, je suis preneur !
Amitiés
H.
Modérateur
Bzhorace a écrit :

Si tu as une idée. ou une piste, je suis preneur !
Amitiés
H.


Pour etre sur de ce chemin, je ferais le test en dur direct dans la balise et je mettrai le echo $_GET['source'] dans le alt aussi , y a pas de mauvais oeil en informatique, juste la loi de Murphy Smiley cligne

Que te montres l'inspecteur de code dans le lien de ta balise ?
Modifié par gcyrillus (11 Jun 2021 - 19:09)
Procedure de test

Je lance l'application
Je fais mes choix
Le script JS me construit imgsrc

		var imgsrc = 'documents/' + dat + cle + texte + ext;
		document.getElementById("imgsrc").innerHTML = imgsrc;	

J'arrive au point douloureux
L'écran m'affiche avec :

	Img source : <span  id = 'imgsrc'></span>

Et j'ai sous les yeux :
	
	documents/04.09.24SDA01Contrat original 2004.jpg

Mais au $_GET

<img src="<?php echo $_GET['imgsrc'];?>" Width="750" alt="Raté">

Boum ! Affichage de 'Raté' !!

Là, un peu de copier/coller et je mets en dur imgsrc :
	
	<img src="documents/04.09.24SDA01Contrat original 2004.jpg" Width="750" alt="Raté">

Et je relance l'application.
Et là, j'ai l'affichage de mon document !
C'est comme si $_GET ne trouvais pas imgsrc dans le DOM !

Mes pauvres neurones sont un peu dépassés !
Merci !
H.
J'ai oublié ceci :

Notice: Undefined index: imgsrc in C:\WorkSite\EasyPHP-12.1\www\Safe\page.php on line 35
Modérateur
Bzhorace a écrit :
J'ai oublié ceci :

Notice: Undefined index: imgsrc in C:\WorkSite\EasyPHP-12.1\www\Safe\page.php on line 35

ça c'est : $_GET['source'] où tu n'as probablement pas corrigé l'espace en trop... (voir post plus haut).
;)

Enfin, pour ton lien, regarde du coté de urlencode() en transformant $_GET['source'] en urlencode( $_GET['source'] ) ou bien transforme tes espaces blancs en underscore _
Modifié par gcyrillus (12 Jun 2021 - 12:00)