IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

4D Discussion :

[Aide] Connexion à la BDD depuis une page Web


Sujet :

4D

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut [Aide] Connexion à la BDD depuis une page Web
    Bonjour,

    Je viens tout récemment de m'inscrire sur ce forum qui m'a l'air des plus instructif.
    Je me présente tout d'abord, je m'appelle Philippe et je suis développeur dans une association dans le domaine de la Biologie médicale.
    Lors de mon embauche j'ai repris le système en place sous 4D 2003 que je decouvrais alors, et j'ai appris sur le tas les différentes possibilités offertes par ce logiciel. Ce système est utilisé comme une application en interne et celui-ci publie également un site internet permettant aux adhérents d'avoir accès à toutes les informations dont ils ont besoin.
    Depuis quelques temps, nous avons décidé de refondre totalement le système en place et d'en recréer un tout neuf avec 4D v11 SQL. C'est pourquoi j'ai planché sur une structure de base de données et sur les quelques algorithmes nécessaires à notre activité en interne.
    Mon principal souci réside dans la création du site internet. Je ne suis pas un novice en matière de développement Web mais je bute sur de petites choses qui, je le pense, ne sont que des broutilles pour des connaisseurs.
    Alors voilà, j'ai besoin de variables de sessions qui gardent certaines valeurs comme des identifiants et autres mais je ne comprends pas comment cela est géré. J'ai l'impression que la connexion de la page web vers la base de données 4D ne se fait pas correctement. Je vois bien également que sur le site web actuel, il y a, à la fin des liens dans la barre d'adresse, une variable correspondant au processus ouvert sur le serveur, ce que je ne vois pas dans les pages que j'ai créé.
    Voici un exemple :
    J'ai une page d'accueil qui s'affiche avec disons l'année de la campagne en cours. La variable contenant cette année est dans la méthode de base : "Sur connexion Web". Lors de l'affichage de cette page je vois bien l'année. Je clique sur un lien m'amenant sur une page d'identification. Je saisi login et mdp et cela me redirige sur la page d'accueil (comme spécifier dans la méthode Identification que j'ai créé et appelé sur la page web). Et là je vois un petit message d'erreur à la place de l'année me stipulant que la variable est indéfinie.
    Pour moi du moment que la variable est créée et affectée d'une valeur, elle est définie jusqu'à ce que l'espace mémoire de cette variable soit libéré.

    Bref, je ne comprends pas bien quel est le fonctionnement et cela est assez bloquant pour tout le développement, vous en conviendrez.

    Pouvez-vous me donner un lien explicatif, une démarche à suivre ou quelques explications car là, je sèche vraiment.

    Merci de m'avoir lu.

    Philippe.

  2. #2
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    74
    Détails du profil
    Informations personnelles :
    Âge : 60

    Informations forums :
    Inscription : Juin 2006
    Messages : 74
    Points : 98
    Points
    98
    Par défaut
    Citation Envoyé par Loufi Voir le message
    Bonjour,

    Alors voilà, j'ai besoin de variables de sessions qui gardent certaines valeurs comme des identifiants et autres mais je ne comprends pas comment cela est géré. J'ai l'impression que la connexion de la page web vers la base de données 4D ne se fait pas correctement....
    .... Et là je vois un petit message d'erreur à la place de l'année me stipulant que la variable est indéfinie.
    Pour moi du moment que la variable est créée et affectée d'une valeur, elle est définie jusqu'à ce que l'espace mémoire de cette variable soit libéré.
    Bonjour Philippe,

    en fait, comme toujours "c'est normal" :=))

    Il se trouve qu'en Web tu es en mode déconnecté et que lorsque le navigateur envoie une requête à 4D, 4D crée un process à la réception puis le détruit une fois la réponse envoyée. Donc toutes tes variables, sélections etc ... liées au process sont effacées.

    Pour gérer des variables qui naviguent d'une session à l'autre tu as 3 solutions :
    - mettre tes variables dans un cookie
    - mettre tes variables dans l'URL
    - tout gérer par des envois de formulaires avec des variables (cachées pour certaines)

    Bonne journée

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci beaucoup pour ces précisions.
    En effet, je viens de voir qu'une méthode est appelée dans chaque page Web et récupère ou plutôt transfert les informations d'une page à l'autre via des variables.
    Comme quoi, il vaut mieux un qui sait que trois qui cherchent.

    Après quelques tests, cela fonctionne niquel je conserve les données dont j'ai besoin. Génial, je vais pouvoir avancer.

    Encore merci.

  4. #4
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Arf !
    J'y arrive correctement quand un formulaire est posté, la methode est correctement executée et mes variables conservent leurs valeurs. Cependant, quand on clique sur un lien, même si dans les différentes pages j'ai appelé ma méthode, les valeurs ne sont pas conservées.
    A noter qu'il n'y a même pas de message d'erreur lors de l'affichage des variables... il n'y a juste rien.
    Une balise <!--4Dscript/MaMethode--> appelle bien MaMethode en se connectant à la base non ? J'ai l'impression que cela n'a aucun effet dans ce cas précis. Il me manque donc quelquechose pour que cela fonctionne correctement et uniformement.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Bonjour Loufi,

    En fait, pour que 4D puisse traiter tes informations, il faut que tu lui demandes.

    Si tu mets un lien dans ta page, qui renvoie simplement sur une autre URL, le navigateur charges ta page, et tu as tout perdu, parcque 4D ne s'en est pas mêlé !

    Il existe plusieurs méthodes pour appeler 4D, et lui demander d'executer quelque chose :
    les 4DAction, à mettre par exemple dans la définition d'un form… ACTION="4DACTION/MaMéthode", et là, quand tu postes ta page web, c'est MaMéthode qui traite…
    les 4DScripts, qui executent du code 4D… mais il faut bien voir qu'en fait ca execute du code, et que le but est de renvoyer du contenu
    les 4DVAR, qui permettent de faire un lien direct entre une variable dans 4D et la page web…

    Pour en revenir à ta demande, tu dois modifier tes liens, afin qu'ils appellent 4D et que ce soit 4D qui t'envoie la page souhaitée, plutôt que le navigateur qui fasse le boulot tout seul !

    BOn courage

Discussions similaires

  1. [CR 9]Afficher un état depuis une page WEB
    Par fguitch dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 19/05/2006, 16h02
  2. Programmer un cron depuis une page web.
    Par El Riiico dans le forum Serveurs (Apache, IIS,...)
    Réponses: 1
    Dernier message: 15/03/2006, 12h26
  3. [Système] Lancer un programme externe depuis une page web
    Par needles94000 dans le forum Langage
    Réponses: 2
    Dernier message: 08/02/2006, 21h34
  4. Réponses: 2
    Dernier message: 05/11/2005, 13h48
  5. [FTP] lien ftp depuis une page web
    Par broken dans le forum Langage
    Réponses: 1
    Dernier message: 24/10/2005, 13h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo