HTTP_POST_VARS and eval?
| From: | Henrik Hudson | Date: | Fri, 16 Nov 2001 22:28:23 +0000 |
| Subject: | HTTP_POST_VARS and eval? | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-74805@lists.php.net to get a copy of this message | ||
Hey List-
Working on a program and I seem to have run into a problem with
HTTP_POST_VARS. Are the HTTP_VARS considered "special"?
Here is what I am doing, reading in from a file into an array and then
grabbing each line and looking for ]string[ and replacing that with
$HTTP_POST_VARS["string"]
The first echo prints out the lines correctly, but the echo after the eval
prints out the same lines. My error log shows this:
PHP Parse error: parse error, expecting
T_STRING' or T_VARIABLE' or
`T_NUM_STRING' in
/data/www/webpages/test.rhavenn.net/public_html/formmail/formmail.php(164) :
eval()'d code on line 1
So, its having problems doing an eval on the HTTP_POST? If I replace the
HTTP_POST stuff with just $\\1 and then define $string =
$HTTP_POST_VARS["string"] it works just fine, but I can't do this since I
don't know what string is going to be, just that it is between ] [ chars and
there can be multiple ] [ on one line.
Any thoughts? Code is below.
//Read the array
$form_data = "";
for($i=0; $i < count($filearr); $i++){
$line = $filearr[$i];
//Strip the ] [ from around the variables so they will be interpreted
$line = eregi_replace("\]([^\[]+)\[",
"\$HTTP_POST_VARS['\\1']",
$line);
echo "Line: $line<BR>";
//eval the variables from $line into themselves and they become
literal
eval ("\$line = \"$line\";");
echo "Lineafterwards: $line<BR>\n";
//Write the line back into a single variable
$form_data = $form_data . $line;
}
exit;
Thanks!
Henrik
--
Henrik Hudson
lists@rhavenn.net