I am still obsessed with my Virtual Birders Field Notebook at www.herodias.org.

I have continued to work on my laptop version, but sadly, can’t update the website until I’ve got the bulk of the features added. So far, I think I have locations and outings under control, and now just have to connect the birds with where they were seen. Yahoo!

I am having some conceptual troubles with the scope of variables (GET, POST, SESSION), and fear that in adding complexity, I’m losing elegance in my code. Oh, well. I try to be frugal in coding whenever I can. For example, there is a dropdown box for the date. I start arbitrarily with 1990 (can be changed), then check the current year, and create a loop to output an HTML select form item, automatically selecting the current year. The same could easily be done with month and date.

Cool functions await as well, such as zip code searching for birders near you, birding locations near you, forums, and of course, checklists. I’d be using the checklists to narrow the number of species displayed depending on where your current location is.

As my database queries get more complex, using multiple tables, the scope of variables really becomes an issue. I usually pass the variables from form to form, but it would probably be more elegant to make them SESSION variables, and destroy them as they are not needed. FOr example, USER is a SESSION variable that is active the entire time, but that user can have multiple LOCATIONS or OUTINGS (ie DATES at that location) that I would need to be sure were destroyed before going to the next location or date.