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:

WebDNA Modules

A list of the currently available modules...

Technical Change History

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


A compilation of some user's questions...

Download WebDNA Applications

WebDNA applications...

Tips and Tricks

A list of user-submitted tips ...

AWS Raw WebDNA LAMP-Plus WebServer

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

Related Readings:


Displays a specific MIME header...


The server waits until the file appears on disk...


Enable the WebDNA programmer to input XML data into a WebDNA variable...


Lists all the form variables and parameters passed to the current page...


WebDNA provides a few options for password protecting your pages...