Construire la société action edit template

Le code dans CompanyEditAction.cfm est comme le code dans CompanyAddAction.cfm, mais les mises à jour de modifier l'action plutôt que les inserts. Créez un fichier nommé CompanyEditAction.cfm l'intérieur du répertoire CH02, tapez le code dans la fenêtre d'édition du fichier, et enregistrez le fichier.

 UPDATE Société SET CompanyName = '# Trim (Form.CompanyName) #', Adresse = '# Trim (Form.Address) #', Ville = '# Trim (Form.City) #', state = '# Trim (Form. État) # ', # CP =' Trim (Form.ZipCode) # ', = Commentaires  '# Trim (Form.Comments) #'  NULL  OÙ CompanyID # = Val (Form.CompanyID) # 
  

Maintenant que vous avez fini de ces trois modèles, vous pouvez les voir en action. Pointez votre navigateur Web à l'adresse http:// / CFMXBible/Ch02/CompanyGetEditForm.cfm et entrez un CompanyID. (Pour obtenir une carte d'identité valide, allez à la liste des sociétés et choisissez un numéro dans la colonne id.) Cliquez sur Soumettre, et vous devriez voir les informations de l'entreprise choisie apparaissent dans les champs du formulaire sur le formulaire de modification. Modifier le code postal et cliquez sur Soumettre, puis revenir sur la liste des sociétés et cliquez sur le bouton Actualiser de votre navigateur. Vous devriez voir les données mises à jour dans la liste des sociétés. Si vous n'aimez pas, comparez les fichiers que vous avez créé avec leurs grilles respectives. Open CompanyEditForm.cfm dans HomeSite. Parce que le formulaire d'édition est très semblable au formulaire d'ajout, de comparer les deux. La première différence entre le formulaire de modification et d'ajouter la forme est la CFQUERY au début de CompanyEditForm.cfm. CompanyEditForm.cfm appels CFQUERY pour récupérer l'enregistrement société que l'utilisateur souhaite modifier. Cette requête est comme celui de CompanyList.cfm, avec quelques différences. Tout d'abord, ne comprend pas CompanyEditForm.cfm société dans la liste de sélection, car l'ID de l'entreprise choisie est déjà disponible dans les CompanyID qui a été envoyé à ce modèle dans le formulaire posté. Deuxièmement, vous trouverez désormais une clause WHERE qui restreignent le jeu de résultats pour n'inclure que l'entreprise avec une carte d'identité qui correspond à CompanyID. Troisièmement, vous trouverez pas de clause ORDER BY, parce que cette requête renvoie uniquement un seul enregistrement. Regardez la clause WHERE à nouveau dans le code suivant:

OÙ CompanyID # = Val (CompanyID) #

CompanyID venait de la publication de formulaire CompanyGetEditForm.cfm, dit-on de faire partie du champ de formulaire, et comme tel devrait normalement être référencée comme Form.CompanyID. De même, si CompanyID avait été adoptée dans un lien hypertexte comme un paramètre d'URL, ce serait une partie du champ d'application Web, et comme tel devrait normalement être référencée comme URL.CompanyID. Notez que dans la ligne précédente de code, nous avons omis le champ d'application préfixe à la variable CompanyID. Cette ColdFusion causes d'aller «chasse» pour le champ qui contient la variable CompanyID. En utilisant cette technique, vous pouvez construire un modèle souple qui mai recevoir des valeurs de l'URL ou un poste de formulaire. Val () est une fonction ColdFusion qui prend une chaîne et renvoie la partie numérique de cette chaîne (par exemple, 123ABC deviendrait 123). Si la chaîne ne commence pas par un nombre, Val () retourne zéro. Val () est très important, surtout avec des paramètres d'URL, pour les deux raisons suivantes:

Si la base de données attend un nombre, mais l'utilisateur passe un paramètre non numérique, Val () s'assure que la base de données ne jette pas une erreur de syntaxe.

Val () est une mesure de sécurité. Si vous n'utilisez pas Val (), un hacker pourrait ajouter une requête malveillant tel que DELETE FROM Client sur l'extrémité du paramètre d'URL, et la requête supplémentaire serait d'exécuter contre votre base de données. Val () supprime tous les caractères non numériques, si la requête malveillant pourrait ne jamais toucher à votre base de données. Notez également que vous n'avez pas entourer le signe dièse avec des guillemets simples comme vous le faites dans CompanyAddAction.cfm, parce CompanyID est une colonne numérique. Seules les chaînes de texte peut être entouré de guillemets simples. Moving CompanyEditForm.cfm plus bas, vous voyez une simple HTML balise INPUT type = "hidden". Champs de formulaire cachés, invisibles à l'utilisateur, elles transmettent les données à la page d'action sans intervention d'utilisateur. La balise d'entrée masqué a deux attributs en dehors de son type: nom et la valeur. Nom devient le nom de la variable de formulaire sur la page d'action. Valeur est ce que cette variable contient. Vous utilisez un champ de formulaire masqué ici afin que CompanyEditAction.cfm sait quelle compagnie de mettre à jour dans la base. Notez que la valeur du champ de formulaire masqué est CompanyID, qui a été muté de la CompanyID CompanyGetEditForm.cfm. Le champ caché est le mécanisme qui traverse CompanyID à CompanyEditAction.cfm. L'écart final entre CompanyEditForm.cfm et CompanyAddForm.cfm est que ces champs du formulaire sont déjà remplis avec les données. Chacune des cinq balises CFINPUT sur CompanyEditForm.cfm possède un attribut de la valeur. L'attribut value est le texte que l'utilisateur voit dans le champ de saisie comme il navigue premier CompanyEditForm.cfm. Tous les attributs de valeur se présenter comme suit:

value = "# # GetCompany.CompanyName"

 ColdFusion MX Bible 

Supprimer une société

Numéro d'identification

La seule différence entre l'outil Obtenez de supprimer et obtenir des formulaires d'édition est où l'internaute ne les soutient! La suppression formulaire est un modèle qui permet à l'utilisateur d'inspecter la maison de disques avant de décider de supprimer l'entreprise. Pas d'édition a lieu sur cette page l'utilisateur est la seule visualisation de données statiques. Créez un fichier nommé CompanyDeleteForm.cfm l'intérieur du répertoire CH02, tapez le code dans la fenêtre d'édition du fichier, et enregistrez le fichier.

 SELECT CompanyName, adresse, ville, état, code postal, Observations de la société WHERE CompanyID # = Val (CompanyID) #  ColdFusion MX Bible 

Supprimer une société

Nom de l'entreprise # # GetCompany.CompanyName
Adresse # # GetCompany.Address
Ville # # GetCompany.City
État # # GetCompany.State
Code postal # # GetCompany.ZipCode
Commentaires # # GetCompany.Comments

La première ligne de code dans le supprimer CFQUERY forme est la même que celle utilisée dans le formulaire de modification, il récupère la maison de disques de la base. Vous utilisez CFFORM et un champ de formulaire cachés parce que vous soumettez la CompanyID à la page d'action. Vous n'avez pas besoin de tags CFINPUT parce que vous n'avez pas besoin d'intervention de l'utilisateur sur ce formulaire. Tout ce qui reste est le bouton Soumettre. Le dernier modèle dans la société contrôle le processus de suppression supprimer l'action. Créez un fichier nommé CompanyDeleteAction.cfm l'intérieur du répertoire CH02, tapez le code dans la fenêtre d'édition du fichier, et enregistrez le fichier.

 DELETE FROM entreprise WHERE CompanyID # = Val (Form.CompanyID) # 

Seuls deux balises ColdFusion sont sur cette page: CFQUERY, qui raconte la base de données de supprimer une ligne, et CFLOCATION, qui redirige l'utilisateur vers la page finale.

un article présenté par Mark Dresher


Disclaimer:Notre site n'est pas responsable du contenu de cet article. Webarticles est une ressource d'information gratuite.
Important: Cet article "Construire la société action edit template" a été traduit par un logiciel automatique. Nous nous sentons désolés pour les fautes d'orthographe que mai ont eu lieu. Nous vous remercions de votre compréhension.


Online: 375 users browsing the articles directory