Re: assigning a part of the name of a variable with another variable before php replaces it with the value
| From: | Julian Wood | Date: | Thu, 26 Jul 2001 20:12:39 +0000 |
| Subject: | Re: assigning a part of the name of a variable with another variable before php replaces it with the value | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-59843@lists.php.net to get a copy of this message | ||
To answer your question:
$postfld = $HTTP_POST_VARS[$fname[$i]];
should work. BTW, I just use something like:
if ($client) { // or in your case: if (${$fname[$i]})
// code to be evaluated if $client exists and is not 0, not null/void/nil, and is
not an empty string
}
J
Matthew DeChant wrote:
> Specifically,
>
> If I have 3 HTTP_POST_VARS:
>
> HTTP_POST_VARS["client"] = test1
> HTTP_POST_VARS["directory"]= test2
> HTTP_POST_VARS["password"] =
>
> and I don't know the names of the vars ahead of time, how would I run a
> check to see if they exist and then get the specific POST_VARS's value. This
> is what I've got so far:
>
> $squery = "select * from $db where ";
> $qh = fw_query("select * from $db");
> $fields = odbc_num_fields($qh);
> for ($i=1;$i<=$fields;$i++) {
> # assign $fname the possible field names in the database
> (client,directory,password)
> $fname[$i] = odbc_field_name($qh,$i);
> # assign $postfld the variable name, ie. $HTTP_POST_VARS["client"]
> $postfld = $HTTP_POST_VARS["($fname[$i])"];
> # check that it exists and is not blank
> if (isset($postfld) AND ($postfld != "")) {
> $value[$i] = $postfld;
> $squery.= "$fname[$i] like $value[$i] AND ";
> }
> }
> # pop last AND
> $squery= substr($squery, 0,-5);
>
> so how do you make this work: $postfld = $HTTP_POST_VARS["($fname[$i])"];
>
> thanks,
>
> -m
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
> For additional commands, e-mail: php-general-help@lists.php.net
> To contact the list administrators, e-mail: php-list-admin@lists.php.net