4D v16.3URLs et actions de formulaires |
||
|
4D v16.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 SEND FILE ou WEB SEND 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 (DIALOG, ALERT...). 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_TEXT($1) `Ce paramètre doit toujours être déclaré Le serveur Web 4D permet également d'utiliser des formulaires “postés”, c’est-à-dire des pages HTML statiques renvoyant des données au serveur Web, et de récupérer facilement l'ensemble des valeurs. 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 base Sur authentification Web (si elle existe). Si elle retourne Vrai, la méthode NomMéthode est exécutée. Dans cette méthode, vous devez appeler la commande WEB GET VARIABLES afin de récupérer le nom et la valeur de tous les champs inclus dans une page HTML soumise au serveur. Note de compatibilité : Dans les bases converties, si l'option "Affectation automatique des variables" de la Page Compatibilité est cochée, la méthode projet spéciale COMPILER_WEB (si elle existe) est appelée au préalable ; 4D récupère les valeurs des champs HTML présents dans le formulaire et remplit automatiquement les variables 4D dans la méthode appelée avec leur contenu si elles portent le même nom. Ce fonctionnement est obsolète. Pour plus d'informations, reportez-vous à la section Traiter les données reçues. La syntaxe HTML à appliquer dans le formulaire est du type suivant :
Pour chaque champ du formulaire, 4D affecte la valeur du champ à la variable de même nom. 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> <INPUT TYPE=CHECKBOX NAME=vEXACT VALUE="Mot">Mot entier<BR> <INPUT TYPE=SUBMIT NAME=OK VALUE="Chercher"> </FORM> En cours d’utilisation, vous tapez “ABCD” dans la zone de saisie, vous cochez l’option "Mot entier" et validez en cliquant sur Chercher. Dans la requête envoyée au serveur Web : VNAME="ABCD" 4D appelle la Méthode base Sur authentification Web (si elle existe), puis la méthode projet PROCESSFORM, dont voici le contenu : C_TEXT($1) //obligatoire pour le mode compilé 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 PICTURE TO GIF et WEB SEND HTTP REDIRECT. A l’issue du traitement, une “réponse” doit être retournée, à l’aide d’une des commandes d’envoi de données (WEB SEND FILE, WEB SEND 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/ :
Voir aussi
|
PROPRIÉTÉS
Produit : 4D
HISTORIQUE
UTILISATION DE L'ARTICLE
4D - Langage ( 4D v16) |