This orderby and desc fields are not -- they are being manually set viaprint $q->start_form(), 'Please choose an action: ', $q->popup_menu( -name => 'exec', -values => ['add', 'list', 'search' +] ), $q->popup_menu( -name => 'table', -values => ['users', 'VPN', 'VMacc +ounts', 'supporting tables'] );
(The titles on the table lets you sort by that field, and if you click on an already-sorted field it reverses it.)print $q->h2($subtitle), "\n<table border>\n\t<tr><th>ID</th><th>Type +"; foreach (my $i=1; $i<=$#USER_FIELDS; $i++) { my $flags = '?exec=list&table=users&orderby='.$i; if ($i == $index) { $flags .= '&desc=1'; } print "</th><th><a href=\"$flags\">$LABELS{$USER_FIELDS[$i]}</a>"; } print "</th></tr>\n";
I didn't think that relevant, because its all upstream: at the invocation I'm looking at, the value of orderby is being shown in the $q->Dump output; yet its vanished by the time the first subroutine is called. That is, I've got a print statement, a couple of local assignments, two if's that call listUsers(), a little DB work at the top of sub listusers, and then orderby has vanished. I am assuming there is some sort of global variable passing between CGI instances that I don't know about? ... well, I'm confused.
In reply to Re^2: CGI scoping question
by WoodyWeaver
in thread CGI scoping question
by WoodyWeaver
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |