Technical References - [hideif]

[HideIf Comparison]Hide This HTML[/HideIf]

Hides HTML conditionally only if the comparison is true.

To hide some HTML (or [xxx] tags) only if certain conditions are met, place the text inside a [hideif] container. The comparison, which may contain any [xxx] tags, is first evaluated to see if it is true, and if true then the contained text is hidden. If not true, then any text or [xxx] tags inside the container displays. See [showif].

hideif 'does the correct thing' when it hides its container: any contexts inside the [ hideif ] container (e.g. [append] or [replace] or [delete]) will NOT be executed if hideif evaluates to true.

Example (normally you would put the following text into a .dna file on your server and use a web browser to link to it):
[hideif [username]=Grant][Authenticate User Grant][/hideif]

Comparisons are always case-insensitive so "grant" equals "GRANT".

equal = [hideif [username]=SAGEHEN]You're not Mr. Sagehen![/hideif]
not equal
[hideif [random]!45]...[/hideif]
contains ^ [hideif [browsername]^Mozilla]...[/showif]
begins with ~ [hideif [ipaddress]~245.078.013]...[/hideif].

Notice the IP address has been typed with 3 digits in each portion of the address. This is very important for making these comparison work as expected.
less than < [hideif [random]<50]...[/hideif]
greater than > [hideif [lastrandom]>25]...[/hideif]
divisible by \ [hideif [index]\3]...[/hideif]

if both sides of the equation are numbers, then the comparison for greater than, less than, and equals is performed numerically. If either side is not a number, then the comparison is performed alphabetically.

make sure neither side of the comparison equation contains any of the special comparison letters listed above. For example, [hideif I'm Friendly! Are you?=[question]] contains an exclamation point inside the sentence being compared, so WebDNA sees this as "I'm Friendly" is not equal to " Are you?=[question]", which is not what the author meant to compare.

The solution is to wrap each side of the comparison with [url] contexts, like this:

[hideif [url]I'm Friendly! Are you?[/URL]=[url][question][/URL]]. This causes any embedded ! = > < symbols to be converted to their URL equivalents, which can then be compared correctly.


Top Articles:

Tips and Tricks

A list of user-submitted tips ...


BioType is a behavioral biometrics WebDNA function based on ADGS research and development (from version 8...

WebDNA Modules

A list of the currently available modules...

AWS Raw WebDNA LAMP-Plus WebServer

Amazon Web Services (AWS) README for Machine Image ID...

WebDNA Libraries

A list of available libraries for WebDNA...

Technical Change History

This Technical Change History provides a reverse chronological list of WebDNA changes...

Related Readings:


Changes all lower case letters to upper case...


[table] allows you to quickly create a temporary 'in line' database that is local to the template and not part of the global database cache...


Lists all the fields in the specified database...


Compares the size...

Database format



This context is used to iterate the attributes of a specific XML node...