5568 sujets

Sémantique web et HTML

Bonjour,

J'ai besoin de placer un bouton de type submit dans le fil d'un paragraphe, sans retour à la ligne. Il vient remplacer un lien vers un document (explication ci-dessous).

Or je constate (et j'ai lu) qu'une class CSS telle que "display:inline;" n'a aucun effet sur une balise de type "form" ni sur un bouton submit. Smiley ohwell

Dans mes esssais, le début de mon paragraphe s'affiche normalement, puis le bouton submit apparaît à la ligne, et la fin du paragraphe sur la même ligne que le bouton... mais la CSS de mon paragraphe s'est envolée !

J'ai essayé d'attribuer une class CSS avec display:inline, display:inline-block, j'ai aussi inclu mon formulaire dans une div avec différents display.

J'apprécierais fort de trouver une manière de contourner cette limitation ! Tant pis pour la pureté de la sémantique css / html... Smiley eek si c'est le prix à payer ! A moins qu'il n'y ait pas de limitation dans la balise form mais seulement dans mon modeste savoir de quasi-débutant ? Smiley lol

Pourquoi remplacer un lien par un formulaire ?
Au départ j'avais un simple lien vers un fichier pdf.
Et puis j'ai été contraint d'appliquer une restriction d'accès au site (système de session). Afin d'éviter qu'un visiteur (enregistré) ne puisse envoyer le lien vers ce pdf à un autre visiteur, auquel le contrôle de session ne s'appliquerait pas (et oui : le lien ne se termine pas en .php mais en .pdf... Smiley smile ) :
=> j'ai remplacé mon lien par un formulaire, qui poste vers une page dont l'entête ne permet que de télécharger le pdf (pas d'ouverture dans le navigateur) et ne laisse voir que l'url racine du site. Smiley sweatdrop (c'est compréhensible mon truc, ou bien ?)
Voilà pourquoi !

Toute info, astuce, lumière, aide, précision, correction... sera très appréciée !
Merci d'avance Smiley smile
Modifié par Zoliv (17 Nov 2010 - 14:23)
Bonjour,

Tu essaies de résoudre ta problématique du mauvais côté. C'est côté serveur où cela se joue. La destination de ton lien doit être un fichier (PHP plutôt que PDF par exemple) assurant préalablement un traitement côté serveur qui te permettra de vérifier que l'utilisateur est autorisé à télécharger ce fichier PDF et donc de le rendre effectif. Dans le cas contraire, il est alors possible de notifier l'utilisateur qu'il doit s'authentifier.

Bonne continuation.
Romain
yodaswii a écrit :
(...) C'est côté serveur où cela se joue. La destination de ton lien doit être un fichier (PHP plutôt que PDF par exemple) assurant préalablement un traitement côté serveur qui te permettra de vérifier que l'utilisateur est autorisé à télécharger ce fichier PDF (...)


Bonjour Romain,
Merci pour ta participation. Smiley smile
Ce formulaire - qui remplace le lien - renvoie précisément vers une page qui contrôle la session, et qui autorise le téléchargement en en masquant la fin de l'url ! Comme tu dis, quoi. Smiley biggrin
Avec un simple lien, il me faudrait une page de contrôle par fichier à télécharger ; or comme j'ai une trentaine de pdf, ce serait un peu lourd ! Smiley langue Le formulaire me sert donc à transmettre le nom du fichier (avec un input hidden) vers cette page php, laquelle complètera avec le chemin du répertoire (en plus on limite la validité du header à quelques secondes). Smiley cligne

Mon problème de mise en page ne concerne qu'un ou deux formulaires / liens ; d'où ma recherche.
Bonne journée ! Smiley smile
Romain a parfaitement raison, le problème doit être géré côté serveur. Côté HTML il suffit de pointer vers une ressource avec un lien, et c'est le serveur qui se charge de déterminer si l'utilisateur peut avoir accès à cette ressource ou non.

Cela dit, pour information, un <input type="submit"> ou tout autre input dans un paragraphe, ça ne provoque pas de retour à la ligne. Si c'est le cas sur ta page, tu as des styles CSS parasites qui s'appliquent. Tu peux utiliser Firebug ou Web Inspector pour trouver lesquels.
Ça ressemble à un magnifique cas de «pourquoi faire simple quand on peut faire compliqué?». Smiley smile

Zoliv a écrit :
Avec un simple lien, il me faudrait une page de contrôle par fichier à télécharger ; or comme j'ai une trentaine de pdf, ce serait un peu lourd ! Smiley langue Le formulaire me sert donc à transmettre le nom du fichier (avec un input hidden) vers cette page php

Et un paramètre GET?
<a href="/download/restricted.php?file=whatever.pdf">Télécharger le fichier</a>
Florent V. a écrit :
Ça ressemble à un magnifique cas de «pourquoi faire simple quand on peut faire compliqué?». Smiley smile
Et un paramètre GET?
&lt;a href=&quot;/download/restricted.php?file=whatever.pdf&quot;&gt;Télécharger le fichier&lt;/a&gt;


Bonjour Florent,
Un GET, effectivement... Merci !!!
C'est tellement évident que c'en est un peu vexant Smiley confused
Mais le quasi-débutant que je suis, est honoré de recevoir la parole du sage Smiley lol

Salutations à toute la belle équipe d'Alsacréations (avec un S Smiley ravi ), merci pour votre aide, celle des contributeurs du forum et pour tout le contenu de ce site de qualité !

Zoliv.

PS : mais où c'est-y qu'on marque "ce message m'a aidé" ?
Modifié par Zoliv (17 Nov 2010 - 14:24)
Florent V. a écrit :
Romain a parfaitement raison, le problème doit être géré côté serveur. Côté HTML il suffit de pointer vers une ressource avec un lien, et c'est le serveur qui se charge de déterminer si l'utilisateur peut avoir accès à cette ressource ou non.

Cela dit, pour information, un &lt;input type=&quot;submit&quot;&gt; ou tout autre input dans un paragraphe, ça ne provoque pas de retour à la ligne. Si c'est le cas sur ta page, tu as des styles CSS parasites qui s'appliquent. Tu peux utiliser Firebug ou Web Inspector pour trouver lesquels.


Florent,
Je ne contredisais pas Romain ! Je précisais simplement ma technique.
J'approfondi cette question de parasites CSS (j'utiliserai un GET la prochaine fois ; là c'est trop tard pour des raisons non-informatiques).
Encore merci !
Zoliv

PS. au fait Florent, vu ta signature : on dit bien une "ouiche" lorraine, n'est-ce pas ?
Modifié par Zoliv (17 Nov 2010 - 15:23)
Zoliv a écrit :
on dit bien une &quot;ouiche&quot; lorraine, n'est-ce pas ?

Le doute subsiste:
La Classe Américaine a écrit :
Peter — Tu aurais envie de manger quoi exactement ?
Steven — Ben je sais pas, par exemple une quiche lorraine.
Peter — Une ouiche.
Steven — Quoi ?
Peter — On dit « une ouiche lorraine ».
Steven — Tu es sûr ? Ça fait bizarre, « ouiche lorraine ».

Il y a bien José qui confirme qu'on dit ouiche, mais José des fois il pipaute un peu.