I’m rusty at ColdFusion, I’ve been used to PHP for so long. What I want to do is something like this:
<?php
$id = (isset($_GET['id'])) ? (int)$_GET['id'] : 0;
?>
Basically, check for a url parameter called id and if it exists make sure it’s an integer so I can safely use it in database queries. If it ends up zero, that’s fine too.
I have:
<cfscript>
if (IsDefined("URL.id") AND IsNumeric(URL.id)) {
id = int(URL.id);
} else {
id = 0;
}
</cfscript>
This is working, but is awfully messy. Is there a better way to do this?
I would use cfparam. I’d also scope explicitly, but that’s not necessary. I wouldn’t use the IIF() function, because it makes use of evaluate(), which can be problematic, I’d also avoid DE() for the same reason. In this case, it won’t be an issue, but I avoid them on general principle in any situation where it’s not absolutely necessary. I’ve been using CF for a few years now, and it hasn’t been necessary yet.