On 10/3/06, Charles Kline <[EMAIL PROTECTED]> wrote:
hi all.
i am trying to modify some old code and struggling a bit with this one:
// returns an array of the names in the form post
$fields = $_SESSION['case']->getComplaintKeys();
First of all this is news to me, I'm not sure how it is that you're
getting the POST values from here. But OK...
// here is the array returned
Array ( [0] => eligibility [1] => payment [2] => service [3] =>
document [4] => licensing [5] => source [6] => date [7] => contact
[8] => description [9] => status )
for ($j = 0; $j < count($fields); $j++) {
if (${$fields[$j]} == 'on') ${$fields[$j]} = 1;
if (is_null(${$fields[$j]})) ${$fields[$j]} = 0;
$data[$fields[$j]] = ${$fields[$j]};
}
Well, I'd start off by *not* using this dynamic variable everywhere
(because it's hard to read and easy to introduce a bug), but just set
it to a temp variable and use that, like so:
for ($j = 0; $j < count($fields); $j++) {
$myField = ${$fields[$j]};
if($myField == 'on') $myField = 1;
if(is_null($myField) $myField = 0;
$data[$fields[$j]] = $myField;
}
The problem I am having is that the code is now on a more secure
server with register_globals off (and I don't want to turn that on).
I am not sure how to get the POST data sorted out using this method.
Hope it is clear what I mean.
Then if you need to explicitly reference the variable name within
POST, just change that line:
for ($j = 0; $j < count($fields); $j++) {
$myField = $_POST[$fields[$j]];
if($myField == 'on') $myField = 1;
if(is_null($myField) $myField = 0;
$data[$fields[$j]] = $myField;
}
Untested. Does that work for you?
HTH,
John W
Thanks,
Charles
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php