PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.info.auteurs > cgi, form et valeur par défaut
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
cgi, form et valeur par défaut

Réponse
 
LinkBack Outils de la discussion
Vieux 03/05/2008, 17h17   #1 (permalink)
Une Bévue
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut cgi, form et valeur par défaut

j'ai une form :
<form action='http://127.0.0.1/ruby/man.rbx' method='post'>
<p>
<label for='search'>Search : </labeL>
<input type='text' id='search' name='search' value='man'>
<input type='submit' value='Send'> <input type='reset'>
</p>
</form>

qui me sert (vira...) à visualiser les pages de man aussi, j'ai donné à
'search' la valeur par défaut "man".

si j'entre, par exemple "eruby", j'ai bien dans mon cgi['search'] la
valeur "eruby" et je peux afficher le corps du fichier html
"/Users/yt/man/#{cgi['search']}.html" dans ma page
'http://127.0.0.1/ruby/man.rbx'.

MAIS la valeur affichée dans l'input text est "man", soit la valeur par
défaut, je préférerais afficher la valeur entrée ?

comment éviter ça ?
--
Une Bévue
  Réponse avec citation
Vieux 03/05/2008, 17h21   #2 (permalink)
giganet
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Une Bévue a écrit :
> j'ai une form :
> <form action='http://127.0.0.1/ruby/man.rbx' method='post'>
> <p>
> <label for='search'>Search : </labeL>
> <input type='text' id='search' name='search' value='man'>
> <input type='submit' value='Send'> <input type='reset'>
> </p>
> </form>
>
> qui me sert (vira...) à visualiser les pages de man aussi, j'ai donné à
> 'search' la valeur par défaut "man".
>
> si j'entre, par exemple "eruby", j'ai bien dans mon cgi['search'] la
> valeur "eruby" et je peux afficher le corps du fichier html
> "/Users/yt/man/#{cgi['search']}.html" dans ma page
> 'http://127.0.0.1/ruby/man.rbx'.
>
> MAIS la valeur affichée dans l'input text est "man", soit la valeur par
> défaut, je préférerais afficher la valeur entrée ?
>
> comment éviter ça ?


<?
if (cgi['search']="") {
cgi['search'] = "man";
}
?>
<form action='http://127.0.0.1/ruby/man.rbx' method='post'>
<p>
<label for='search'>Search : </labeL>
<input type='text' id='search' name='search' value='cgi['search']'>
<input type='submit' value='Send'> <input type='reset'>
</p>
</form>
??
  Réponse avec citation
Vieux 03/05/2008, 21h19   #3 (permalink)
Une Bévue
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

giganet <giganet@free.fr> wrote:

>
> <?
> if (cgi['search']="") {
> cgi['search'] = "man";
> }
> ?>
> <form action='http://127.0.0.1/ruby/man.rbx' method='post'>
> <p>
> <label for='search'>Search : </labeL>
> <input type='text' id='search' name='search' value='cgi['search']'>
> <input type='submit' value='Send'> <input type='reset'>
> </p>
> </form>
> ??


ok, c'est béton ;-)

si j'ai bien compris, en php, aussi, on est obligé de faire ça ?
j'ai trouvé "curieux" que le brouteur file une valeur et en affiche une
autre...

en tk, merci bien !
--
Une Bévue
  Réponse avec citation
Vieux 03/05/2008, 22h24   #4 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Le 03/05/2008 22:19, Une Bévue a écrit :
>
> si j'ai bien compris, en php, aussi, on est obligé de faire ça ?


Si j'ai bien compris, tu avais envie que la valeur demandée dans la
nouvelle page soit écrasée par celle saisie par l'utilisateur sur la
page précédente ?

> j'ai trouvé "curieux" que le brouteur file une valeur et en affiche une
> autre...


Le brouteur fait une requête en passant certains paramètres, puis le
serveur envoie une page en retour. Ce que je trouve curieux, c'est que
tu souhaites que le navigateur décide de lui-même que la page retournée
par le serveur est incorrecte, et qu'il prenne l'initiative de changer
le code.
  Réponse avec citation
Vieux 04/05/2008, 11h48   #5 (permalink)
Une Bévue
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Olivier Miakinen <om+news@miakinen.net> wrote:

> > si j'ai bien compris, en php, aussi, on est obligé de faire ça ?

>
> Si j'ai bien compris, tu avais envie que la valeur demandée dans la
> nouvelle page soit écrasée par celle saisie par l'utilisateur sur la
> page précédente ?


oui histoire de donner un feedback à l'utilisateur du genre "j'ai bien
compris votre commande, vous voulez que j'affiche la page de man XXX"...
>
> > j'ai trouvé "curieux" que le brouteur file une valeur et en affiche une
> > autre...

>
> Le brouteur fait une requête en passant certains paramètres, puis le
> serveur envoie une page en retour. Ce que je trouve curieux, c'est que
> tu souhaites que le navigateur décide de lui-même que la page retournée
> par le serveur est incorrecte, et qu'il prenne l'initiative de changer
> le code.


ben non, ce qui me trouble :

je suis toujours dans la page '/man/index.rbx' là, dans l'input text,
j'entre le nom d'une commande de man, par exemple "mkdir", puis je fais
enter ou je clique sur le bouton de sousmission.

comme j'ai :
<form id='search_form' action='http://127.0.0.1/man/index.rbx'
method='post'>

le brouteur recharge la page avec cgi['search'] = "mkdir"
et mon script cgi-ruby affiche bien la page de man relative à "mkdir"
(sous la form).

mais l'input lui, affiche la valeur par défaut (après rechargement de la
page), voilà, c'est ce qui m'a "troublé" le brouteur affiche le bon
résultat (ie la bonne page de man dans le corps du document), mais
affiche "man", la valeur par défaut de l'input et pas celle entrée
précédemment par l'utilisateur.

mais bon, la solution donnée par "giganet" me convient très bien.
en fait, je pense que l'astuce donnée par "giganet" est systématiquement
utilisée par les gens qui conçoivent des sites avec form (quand on reste
sur la même page), sinon, on perdrait l'info entrée précédemment...

et, comme le rechargement de la page ne me plait pas, je vai regarder
une solution où le cgi-ruby file à javascript le nouveau contenu (la
page de man) et javascript s'occuperait de l'affichage via le DOM, mais
c'est une autre histoire...
--
Une Bévue
  Réponse avec citation
Vieux 04/05/2008, 21h19   #6 (permalink)
Olivier Miakinen
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Le 04/05/2008 12:48, Une Bévue a écrit :
>>
>> Si j'ai bien compris, tu avais envie que la valeur demandée dans la
>> nouvelle page soit écrasée par celle saisie par l'utilisateur sur la
>> page précédente ?

>
> oui histoire de donner un feedback à l'utilisateur du genre "j'ai bien
> compris votre commande, vous voulez que j'affiche la page de man XXX"...


C'est *ton* interprétation. L'interprétation du navigateur au moment de
faire la requête POST, c'est « j'envoie une requête POST avec comme
paramètre 'search=eruby' » ; l'interprétation du serveur est « j'ai
reçu une requête, je renvoie la réponse » ; enfin l'interprétation du
navigateur est « je reçois une page HTML contenant un input de type
'text', de nom 'search', et de valeur 'man' ». Je précise, car ça ne
semble pas être clair pour toi, que la requête est oubliée depuis
longtemps. Qui plus est, il n'est pas censé savoir non plus qu'il s'agit
de « la même page » (c.-à-d. la même URL), ni que parmi tous les input
possibles de type 'text' et de nom 'search' il doit ignorer la valeur
'man' qu'on lui a passée.

>> Le brouteur fait une requête en passant certains paramètres, puis le
>> serveur envoie une page en retour. Ce que je trouve curieux, c'est que
>> tu souhaites que le navigateur décide de lui-même que la page retournée
>> par le serveur est incorrecte, et qu'il prenne l'initiative de changer
>> le code.

>
> ben non, ce qui me trouble :
>
> je suis toujours dans la page '/man/index.rbx'


NON !

Tu as quitté la page, qui s'appelait peut-être '/man/index.rbx', pour en
charger *une autre*, qui s'appelle peut-être aussi '/man/index.rbx'. Il
n'y a strictement aucune raison pour que le navigateur fasse un truc
particulier quand la nouvelle page porte le même nom que l'ancienne. À
moins bien sûr que tu n'aies lu dans la norme qu'il faille faire quelque
chose de spécial dans ce cas *très* particulier.

Le serveur a toute latitude pour choisir la valeur par défaut en
fonction des paramètres qui lui sont passés, je ne vois pas pourquoi on
irait rajouter une bidouille dans le navigateur pour l'en empêcher !

D'ailleurs, quel serait l'intérêt de mettre comme valeur par défaut de
l'input celle qui est déjà affichée ? Au contraire, dans la plupart des
cas c'est celle qui présente le moins d'intérêt, puisqu'on l'a déjà !

> mais bon, la solution donnée par "giganet" me convient très bien.


Ben oui.

> en fait, je pense que l'astuce donnée par "giganet"


Euh... appelle-ça une astuce si tu veux, moi ça me semble une méthode
normale.

> est systématiquement
> utilisée par les gens qui conçoivent des sites avec form (quand on reste
> sur la même page), sinon, on perdrait l'info entrée précédemment...


Tu veux dire de prendre comme valeur par défaut celle de la page déjà
affichée ? Moi je verrais plutôt :
- mettre la valeur "suivante" dans le cas où une recherche séquentielle
peut avoir un sens ;
- mettre la valeur "la plus proche sémantiquement" quand c'est approprié
(par exemple, mettre le synonyme le plus proche du mot courant pour un
dictionnaire des synonymes) ;
- etc.

> et, comme le rechargement de la page ne me plait pas, je vai regarder
> une solution où le cgi-ruby file à javascript le nouveau contenu (la
> page de man) et javascript s'occuperait de l'affichage via le DOM, mais
> c'est une autre histoire...


Ah, là en effet, c'est autre chose. Dans ce cas tu pourras vraiment
considérer que la page ne change pas, ce qui n'est certainement pas le
cas avec une requête POST.
  Réponse avec citation
Vieux 05/05/2008, 10h25   #7 (permalink)
Une Bévue
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

Olivier Miakinen <om+news@miakinen.net> wrote:

> Le 04/05/2008 12:48, Une Bévue a écrit :
> >>
> >> Si j'ai bien compris, tu avais envie que la valeur demandée dans la
> >> nouvelle page soit écrasée par celle saisie par l'utilisateur sur la
> >> page précédente ?

> >
> > oui histoire de donner un feedback à l'utilisateur du genre "j'ai bien
> > compris votre commande, vous voulez que j'affiche la page de man XXX"...

>
> C'est *ton* interprétation. L'interprétation du navigateur au moment de
> faire la requête POST, c'est « j'envoie une requête POST avec comme
> paramètre 'search=eruby' » ; l'interprétation du serveur est « j'ai
> reçu une requête, je renvoie la réponse » ; enfin l'interprétation du
> navigateur est « je reçois une page HTML contenant un input de type
> 'text', de nom 'search', et de valeur 'man' ». Je précise, car ça ne
> semble pas être clair pour toi, que la requête est oubliée depuis
> longtemps. Qui plus est, il n'est pas censé savoir non plus qu'il s'agit
> de « la même page » (c.-à-d. la même URL), ni que parmi tous les input
> possibles de type 'text' et de nom 'search' il doit ignorer la valeur
> 'man' qu'on lui a passée.



Euh, je parlais en "fonctionnalité" du point de vue "utilisateur" non
pas de la machinerie derrière...

> >> Le brouteur fait une requête en passant certains paramètres, puis le
> >> serveur envoie une page en retour. Ce que je trouve curieux, c'est que
> >> tu souhaites que le navigateur décide de lui-même que la page retournée
> >> par le serveur est incorrecte, et qu'il prenne l'initiative de changer
> >> le code.

> >
> > ben non, ce qui me trouble :
> >
> > je suis toujours dans la page '/man/index.rbx'

>
> NON !
>
> Tu as quitté la page, qui s'appelait peut-être '/man/index.rbx', pour en
> charger *une autre*, qui s'appelle peut-être aussi '/man/index.rbx'. Il
> n'y a strictement aucune raison pour que le navigateur fasse un truc
> particulier quand la nouvelle page porte le même nom que l'ancienne. À
> moins bien sûr que tu n'aies lu dans la norme qu'il faille faire quelque
> chose de spécial dans ce cas *très* particulier.
>
> Le serveur a toute latitude pour choisir la valeur par défaut en
> fonction des paramètres qui lui sont passés, je ne vois pas pourquoi on
> irait rajouter une bidouille dans le navigateur pour l'en empêcher !
>
> D'ailleurs, quel serait l'intérêt de mettre comme valeur par défaut de
> l'input celle qui est déjà affichée ? Au contraire, dans la plupart des
> cas c'est celle qui présente le moins d'intérêt, puisqu'on l'a déjà !


ben là, nous ne sommes pas d'accord, ça a un intérêt, pour moi,
d'afficher dans l'input la page qui a été demandée en particulier ne
serait-ce que par ce que les pages de man n'ont **pas toujours** un
titre qui indique de quelle commande il s'agit.

> > mais bon, la solution donnée par "giganet" me convient très bien.

>
> Ben oui.
>
> > en fait, je pense que l'astuce donnée par "giganet"

>
> Euh... appelle-ça une astuce si tu veux, moi ça me semble une méthode
> normale.
>
> > est systématiquement
> > utilisée par les gens qui conçoivent des sites avec form (quand on reste
> > sur la même page), sinon, on perdrait l'info entrée précédemment...

>
> Tu veux dire de prendre comme valeur par défaut celle de la page déjà
> affichée ? Moi je verrais plutôt :
> - mettre la valeur "suivante" dans le cas où une recherche séquentielle
> peut avoir un sens ;
> - mettre la valeur "la plus proche sémantiquement" quand c'est approprié
> (par exemple, mettre le synonyme le plus proche du mot courant pour un
> dictionnaire des synonymes) ;
> - etc.


dans mon cas, particulier des pages de man, attrapper "sémantiquement"
les pages approchantes, c'est loin d'être évident. Il faut qqc d'assez
"sioux" genre "lire la page effectivement affichée et ses 'SEE ALSO'".
dans ce cadre-là, j'ai ajouté deux choses :
- un menu qui liste les pages déjà converties ;
- un js de suggestion de page de man construit à partir des pages déjà
converties (auto-completion dans l'input 'search')*.

mais bon, je regarderais comment ajouter d'autres suggestions ne
serait-ce que celles des 'SEE ALSO' de la page visualisée.

et comme la difficulté, en tant qu'utilisateur est de connaître une
commande, je veux dire son existence, avoir un système permettant de
visualiser toutes les pages de man existant sur ma bécanne, en
hiérarchisant mais bon il ne me semble pas évident de les regrouper
"sémantiquement", de les catégoriser.


> > et, comme le rechargement de la page ne me plait pas, je vai regarder
> > une solution où le cgi-ruby file à javascript le nouveau contenu (la
> > page de man) et javascript s'occuperait de l'affichage via le DOM, mais
> > c'est une autre histoire...

>
> Ah, là en effet, c'est autre chose. Dans ce cas tu pourras vraiment
> considérer que la page ne change pas, ce qui n'est certainement pas le
> cas avec une requête POST.


oui, enfin, j'ai commencé à le faire, mon cgi-ruby écrit déjà un objet
JavaScript (les pages déjà converties en html)

* là (avec l'auto-complétion) j'ai un problème de js, ça marche bien
excepté un "détail" qui me gène et dont je ne comprends pas la cause.

d'après ce que j'ai lu du script d'auto-complétion (du à un certain
Elegie) la recherche (regexp) est sensible à la casse, je veux dire par
là que dans le code je ne vois pas de /.../i, MAIS le résultat de cette
recherche ne l'est pas (?) par exemple j'ai actuellement comme pages de
man converties :
'SetFile' et 'setfcomment'

et si j'entre dans mon input 'search' Set, donc avec un grand "S", ça me
suggère "Setfcomment" qui n'existe pas...

comme je l'ai dit + haut je ne pige pas pourquoi, mais le code du à
Elegie m'est assez hermétique, on peut le trouver là:
acticle sur usenet - clj :
<http://thoraval.yvon.free.fr/Fixed_layout/doc/suggestion_google.html>
le js proprement dit :
<http://thoraval.yvon.free.fr/Fixed_layout/js/suggest_colors_elegie.js>
adaptée, dans ce cas, aux couleurs nommées.

--
Une Bévue
  Réponse avec citation
Vieux 05/05/2008, 11h57   #8 (permalink)
Thierry B.
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: cgi, form et valeur par défaut

--{ Une Bévue a plopé ceci: }--


> dans mon cas, particulier des pages de man, attrapper "sémantiquement"
> les pages approchantes, c'est loin d'être évident. Il faut qqc d'assez
> "sioux" genre "lire la page effectivement affichée et ses 'SEE ALSO'".


Pourtant, les manpages sur http://openbsd.org/ gèrent très bien
les SEE ALSO. Je n'ai jamais regardé comment ils font, mais tu
pourrais essayer de t'en inspirer...

> commande, je veux dire son existence, avoir un système permettant de
> visualiser toutes les pages de man existant sur ma bécanne, en


$ man xman


--
>> Euh, juste par pure curiosité technique. Comment est défini le barycentre
>> sur une variété qui n'est pas globalement difféomorphe à une boule ?

> À tes souhaits.

-+- JS in GFA -+- Bien configurer sa curiosite technique.
  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 22h20.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,16885 seconds with 16 queries