PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WEBDEV 2024 → Code navigateur et code serveur
Code navigateur et code serveur
Débuté par Delphine Pin, 23 oct. 2014 17:35 - 7 réponses
Membre enregistré
85 messages
Popularité : +1 (1 vote)
Posté le 23 octobre 2014 - 17:35
Bonjour,

La page d'accueil de mon site est une page d'authentification.

On a 2 possibilités :
- soit l'internaute saisit ses identifiants puis clique sur le bouton "se connecter" qui le dirigera vers la page adéquate selon sa résolution.
- soit mon site récupère des paramètres dans l'URL permettant à l'internaute d'être loggé automatiquement et d'être dirigé vers la page adéquate selon sa résolution (fait dans le code d'initialisation de la page).

Sur cette page, j'ai du code navigateur appelé dans le code de chargement de la page (onload) me permettant de récupérer la résolution du poste de l'internaute (je renseigne alors des champs de saisie invisibles en interface afin de pouvoir récupérer leur valeur en code serveur).

Mon problème est le suivant :
Dans le cas où mon site récupère des paramètres afin de logger automatiquement l'internaute, mon code ne fonctionne pas correctement.
En effet, cela passe en premier dans le code serveur d'initialisation de ma page, avant de passer dans le code onload de la page, de ce fait la résolution du poste de l'internaute n'est pas connue et je ne peux donc pas diriger l'internaute vers la page correcte.

Savez-vous comment faire ?

Merci pour votre aide.


Cordialement,

Delphine
Posté le 23 octobre 2014 - 19:20
Bonjour Delphine

dans tous les cas, il faut passer par du code navigateur si tu veux
récupérer des infos sur le navigateur...

Ce qui signifie qu'il faut commencer par ca...

Donc, on ne fait RIEN dans l'init de page serveur, et à la place :
- dans le code onload, on récupère la définition
- Puis (toujours au même endroit), on regarde si les paramètres ont été
passés (on ne vérifie rien, on teste juste la présence)
- si oui, on exécute le code d'un bouton caché (et dans le code serveur,
on fait la vérif)
- si non, on affiche simplement la zone de login

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 10/23/2014 9:35 AM, Delphine Pin wrote:
Bonjour,

La page d'accueil de mon site est une page d'authentification.

On a 2 possibilités :
- soit l'internaute saisit ses identifiants puis clique sur le bouton
"se connecter" qui le dirigera vers la page adéquate selon sa résolution.
- soit mon site récupère des paramètres dans l'URL permettant à
l'internaute d'être loggé automatiquement et d'être dirigé vers la page
adéquate selon sa résolution (fait dans le code d'initialisation de la
page).

Sur cette page, j'ai du code navigateur appelé dans le code de
chargement de la page (onload) me permettant de récupérer la résolution
du poste de l'internaute (je renseigne alors des champs de saisie
invisibles en interface afin de pouvoir récupérer leur valeur en code
serveur).

Mon problème est le suivant :
Dans le cas où mon site récupère des paramètres afin de logger
automatiquement l'internaute, mon code ne fonctionne pas correctement.
En effet, cela passe en premier dans le code serveur d'initialisation de
ma page, avant de passer dans le code onload de la page, de ce fait la
résolution du poste de l'internaute n'est pas connue et je ne peux donc
pas diriger l'internaute vers la page correcte.

Savez-vous comment faire ?

Merci pour votre aide.


Cordialement,

Delphine
Membre enregistré
85 messages
Popularité : +1 (1 vote)
Posté le 24 octobre 2014 - 12:08
Bonjour Fabrice,

Je te remercie pour ta réponse.
J'ai donc procédé comme tu me l'as indiqué mais je rencontre des problèmes.

- Puis (toujours au même endroit), on regarde si les paramètres ont été
passés (on ne vérifie rien, on teste juste la présence)


Je ne peux pas le vérifier ici car PageParamètre() est une fonction serveur.
Ce n'est pas grave, je le vérifierai plus loin dans ma procédure serveur...


- si oui, on exécute le code d'un bouton caché (et dans le code serveur,
on fait la vérif)


J'ai donc ajouté un bouton caché qui appelle une procédure serveur locale qui contient le code que j'avais précédemment dans le code init de ma page. Dans le code onload, j'appelle donc ExécuteTraitement(BTN_TestParam,trtClic)

Mais le problème est que lorsque je passe dans le code de ma procédure serveur, la fonction PageParametre("MonParam") me renvoit systématiquement vide...
Alors que si j'appelle cette même procédure serveur dans le code init de mon projet, je récupère bien mes valeurs.

Je ne comprends pas ce qu'il se passe, pourquoi PageParametre() me renvoie toujours vide qd je l'appelle depuis le code navigateur ?

Merci pour ton aide.


Cordialement,

Delphine
Posté le 24 octobre 2014 - 13:56
Bonjour Delphine



On 10/24/2014 4:08 AM, Delphine Pin wrote:
Bonjour Fabrice,

Je te remercie pour ta réponse.
J'ai donc procédé comme tu me l'as indiqué mais je rencontre des problèmes.

- Puis (toujours au même endroit), on regarde si les paramètres ont
été passés (on ne vérifie rien, on teste juste la présence)

Je ne peux pas le vérifier ici car PageParamètre() est une fonction
serveur.
Ce n'est pas grave, je le vérifierai plus loin dans ma procédure serveur...


Bien sur que si tu peux... tu mets les valeurs dans des variables
déclarées dans la page, et tu teste la valeur dans le code navigateur

Au passage, tu n'as pas besoin de pageparamètre... il suffit de déclarer
les paramètres en optionnel dans l'entête de la page

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com



- si oui, on exécute le code d'un bouton caché (et dans le code
serveur, on fait la vérif)

J'ai donc ajouté un bouton caché qui appelle une procédure serveur
locale qui contient le code que j'avais précédemment dans le code init
de ma page. Dans le code onload, j'appelle donc
ExécuteTraitement(BTN_TestParam,trtClic)

Mais le problème est que lorsque je passe dans le code de ma procédure
serveur, la fonction PageParametre("MonParam") me renvoit
systématiquement vide...
Alors que si j'appelle cette même procédure serveur dans le code init de
mon projet, je récupère bien mes valeurs.

Je ne comprends pas ce qu'il se passe, pourquoi PageParametre() me
renvoie toujours vide qd je l'appelle depuis le code navigateur ?

Merci pour ton aide.


Cordialement,

Delphine
Membre enregistré
85 messages
Popularité : +1 (1 vote)
Posté le 24 octobre 2014 - 14:49
Oups, en effet, désolée !
C'est bon, je récupère donc mes paramètres en les mettant dans des variables dans ma page, ça marche !

Merci beaucoup pour ton aide !

Cordialement,

Delphine
Membre enregistré
85 messages
Popularité : +1 (1 vote)
Posté le 24 octobre 2014 - 15:17
Rebonjour Fabrice,

Je viens de constater un nouveau point auquel je n'avais pas fait attention précédemment..

Quand je lançais ma procédure dans le code init de mon projet, la 1ère page que je voyais apparaître en lançant mon site en lui passant des paramètres était la page dédiée selon ma résolution (je ne voyais jamais ma page de login).

Mais désormais, je vois apparaître ma page de login, puis cela "travaille" (en fait, cela effectue le code de vérification des paramètres), et cela m'affiche ensuite ma page dédiée selon ma résolution.

Est-il possible d'éviter que ma page de login apparaisse dans ce cas ?


Cordialement,

Delphine
Posté le 24 octobre 2014 - 16:19
Bonjour Delphine

non...

a partir du moment ou il te faut des données navigateur, il faut que la
page s'affiche dans le navigateur... Et oui, je sais, Lapalisse n'aurait
pas dis mieux :-)

Maintenant, rien ne t'empêche de créer des sous domaines, un par défnition:
www.monsite.com pour les pc
m.monsite.com pour les mobiles
t.monsite.com pour les tablettes
....

Et d'avoir chaque sous domaine qui arrive DIRECTEMENT sur la page
d'accueil du bon format.

Comme ca, ceux qui ne veulent pas la redirection peuvent l'éviter facilement

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

NOUVEAU: WXReplication, votre système de réplication open source est
disponible sur mon site web !!!
WXShowroom.com : Montrez vos projets !
Plus d'information sur http://fabriceharari.com


On 10/24/2014 7:17 AM, Delphine Pin wrote:
Rebonjour Fabrice,

Je viens de constater un nouveau point auquel je n'avais pas fait
attention précédemment..

Quand je lançais ma procédure dans le code init de mon projet, la 1ère
page que je voyais apparaître en lançant mon site en lui passant des
paramètres était la page dédiée selon ma résolution (je ne voyais jamais
ma page de login).

Mais désormais, je vois apparaître ma page de login, puis cela
"travaille" (en fait, cela effectue le code de vérification des
paramètres), et cela m'affiche ensuite ma page dédiée selon ma résolution.

Est-il possible d'éviter que ma page de login apparaisse dans ce cas ?


Cordialement,

Delphine
Membre enregistré
85 messages
Popularité : +1 (1 vote)
Posté le 24 octobre 2014 - 16:39
Ok, je te remercie pour tous tes conseils !

Bon week-end.

Delphine