4D v14.3URLs et actions de formulaires |
||
|
4D v14.3
URLs et actions de formulaires
URLs et actions de formulaires
Le serveur Web 4D propose plusieurs URLs et actions de formulaires HTML spéciaux vous permettant d'effectuer différentes actions dans votre base de données. Ces URLs sont les suivants :
En outre, le serveur Web 4D accepte plusieurs URLs supplémentaires :
Syntaxe : 4DACTION/MaMéthode{/Param} Utilisation : URL ou Action de formulaire. Cet URL vous permet de lier un objet HTML (texte, image, bouton...) à une méthode projet 4D. Le lien sera du type /4DACTION/MAMETH/PARAMS où MAMETH est le nom de la méthode projet 4D à exécuter lorsque l'utilisateur clique sur le lien et PARAMS un paramètre optionnel de type Texte passé à la méthode dans $1 (reportez-vous ci-dessous au paragraphe “Les paramètres Texte passés aux méthodes via des URLs”). 4DACTION/ peut être associé à un URL dans une page Web statique. La syntaxe de l’URL sera de la forme suivante : <A HREF="/4DACTION/MAMETH/PARAMS"> Faire Quelque Chose</A> La méthode projet MAMETH doit généralement retourner une “réponse” (envoi de page HTML via WEB ENVOYER FICHIER ou WEB ENVOYER BLOB, etc.). Veillez à effectuer les traitements les plus courts possibles, afin de ne pas bloquer le navigateur. Note : Une méthode appelée par 4DACTION ne doit pas faire appel à des éléments d’interface (DIALOGUE, ALERTE...). Attention : Pour qu’une méthode 4D puisse être exécutée via l’URL 4DACTION/, elle doit disposer de l'attribut “Disponible via les balises HTML et les URLs 4D (4DACTION...)” (désélectionné par défaut), défini dans les propriétés de la méthode. Pour plus d'informations sur ce point, reportez-vous à la section Sécurité des connexions. Cet exemple décrit l'association de l'URL 4DACTION/ à un objet HTML image afin d'afficher dynamiquement une image dans la page. Vous insérez dans une page HTML statique les instructions suivantes : <IMG SRC="/4DACTION/PICTFROMLIB/1000"> Le code de PICTFROMLIB est le suivant : C_TEXTE($1) `Ce paramètre doit toujours être déclaré Le serveur Web 4D permet une facilité supplémentaire lorsque vous souhaitez utiliser des formulaires “postés”, c’est-à-dire des pages HTML statiques renvoyant des données au serveur Web. L’action du formulaire doit impérativement débuter par /4DACTION/NomMéthode. Note : Un formulaire peut être soumis dans deux modes (4D accepte les deux) :
Lorsque le serveur Web reçoit un formulaire posté, il appelle la méthode projet COMPILER_WEB (si elle existe), puis la Méthode base Sur authentification Web (si elle existe). Si elle retourne Vrai, la méthode NomMéthode est exécutée. 4D analyse les champs HTML présents dans le formulaire, récupère leurs valeurs et remplit automatiquement des variables 4D avec leur contenu. Il suffit pour cela que les champs du formulaire et les variables 4D portent le même nom. Vous pouvez également utiliser la commande WEB LIRE VARIABLES, permettant de récupérer le nom et la valeur de tous les champs inclus dans une page HTML soumise au serveur. Note : Pour plus d'informations, reportez-vous à la section Associer des objets 4D à des objets HTML. La syntaxe HTML à appliquer dans le formulaire est du type suivant :
Pour les options de formulaires (par exemple les cases à cocher), 4D affecte la valeur 1 à la variable associée s’il est coché, sinon 0. Pour les saisies de type numérique, 4D effectue une conversion Alpha–>Numérique de la valeur du champ. Note : Si un champ du formulaire est nommé OK (par exemple un bouton Submit), la variable système OK de 4D est mise à 1 si la valeur du champ est non vide, sinon 0. Dans une base Web 4D, nous souhaitons que les navigateurs puissent effectuer des recherches parmi les enregistrements par l’intermédiaire d’une page HTML statique. Cette page s’intitule “search.htm”. La base contient d’autres pages statiques, permettant par exemple d’afficher le résultat de la recherche (“results.htm”). Le type POST a été associé à la page, ainsi que l’action /4DACTION/SEARCH. Voici le code HTML correspondant à cette page : <FORM ACTION="/4DACTION/PROCESSFORM" METHOD=POST> <INPUT TYPE=TEXT NAME=VNAME VALUE=""><BR> <!–– Habituellement on met le nom du bouton dans VALUE, pour des raisons d’interprétation il faut mettre un nombre dans VALUE––> <INPUT TYPE=CHECKBOX NAME=EXACT VALUE="1">Mot entier<BR> <!–– OK est un cas particulier––> <INPUT TYPE=SUBMIT NAME=OK VALUE="Chercher"> </FORM> En cours d’utilisation, vous tapez “ABCD” dans la zone de saisie, vous cochez l’option et validez en cliquant sur Chercher. C_TEXTE(VNAME) Dans l’exemple, VNAME contient la chaîne "ABCD", vEXACT a pour valeur 1, et OK a pour valeur 1 (car on a cliqué sur un bouton dont le nom est OK). Si(OK=1) Syntaxe : 4DCGI/<action> Utilisation : URL. Lorsque le serveur Web 4D reçoit l’URL /4DCGI/<action>, la Méthode base Sur authentification Web (si elle existe) est appelée. Si elle retourne Vrai, le serveur Web appelle la Méthode base Sur connexion Web en passant l’URL “tel quel” dans $1. L’URL 4DCGI/ ne correspond à aucun fichier. Il a pour unique rôle d’appeler 4D via la Méthode base Sur connexion Web. Le paramètre “<action>” peut contenir n’importe quel type d’information. Cet URL vous permet donc d’effectuer tout type de traitement. Il vous suffit de tester la valeur de $1 dans la Méthode base Sur connexion Web ou dans une de ses sous-méthodes et d’effectuer dans 4D le traitement adéquat. Par exemple, vous pouvez construire des pages HTML statiques entièrement personnalisées d’ajout, de recherche ou de tri d’enregistrements, ou encore générer des images GIF à la volée. Des exemples d’utilisation de cet URL sont fournis dans les descriptions des commandes IMAGE VERS GIF et WEB ENVOYER REDIRECTION HTTP. A l’issue du traitement, une “réponse” doit être retournée, à l’aide d’une des commandes d’envoi de données (WEB ENVOYER FICHIER, WEB ENVOYER BLOB, etc.). ATTENTION : Veillez à effectuer les traitements les plus courts possibles, afin de ne pas bloquer le navigateur. 4D envoie des paramètres Texte aux méthodes 4D appelées par des URLs spéciaux (4DACTION/ et 4DCGI/). Voici quelques remarques sur ces paramètres :
Vous devez déclarer différents paramètres en fonction de l'origine et de la nature de l'appel de la méthode 4D.
` Méthode base Sur connexion Web
` Méthode appelée par l'URL 4DACTION/
` Méthode appelée par 4DSCRIPT/ sous forme de commentaire HTML Syntaxe : Utilisation : URL en méthode POST ou GET Cet URL permet de synchroniser les données des tables de la base 4D locale avec une base distante via HTTP. Il peut par exemple être utilisé pour synchroniser une base 4D et une application cliente installée sur un Smartphone ou toute application HTTP tierce. L'URL 4DSYNC/ peut être utilisé en méthode GET afin de récupérer les données de la base 4D ou en méthode POST afin de mettre à jour les données de la base 4D. Voici les différentes requêtes HTTP utilisables :
Note : Le format utilisé pour l'échange des données est le JSON (JavaScript Object Notation). La grammaire complète est disponible auprès des services techniques de 4D SAS. Note : Pour que les mécanismes de synchronisation soient activés, l'option Autoriser l’accès à la base de données via les URLs 4DSYNC doit être cochée dans la page "Web/Configuration" des Propriétés de la base (cf. ci-dessous). Dans le cas contraire, les requêtes contenant l'URL 4DSYNC échoueront. Vous devez tenir compte des principes suivants lorsque vous utilisez l'URL 4DSYNC/ :
|
PROPRIÉTÉS
Produit : 4D VOIR AUSSI
Associer des objets 4D à des objets HTML UTILISATION DE L'ARTICLE
4D - Langage ( 4D v14 R2) Hérité de : URLs et actions de formulaires ( 4D v12.4) |