Based on the comments I'd say a quick answer is to check the linked article in my first comment. Yes the problem is your Form Output code is likely expecting data in a variable and not code. You need to eval() the variable in order to actually execute the code contained within. However this is not best practice.
A better solution would be to just store the contents of $email in the DB and just send that to your form
It's the difference between:
$x = '<php? echo $hello ?>';
$outstr= "<input type='hidden' value=' $x ' >";
//no this wont work unless you use eval($x)
EDIT:
Based on your explanation above with content, you may just need a way to ignore everything between the tags in content and replace it with the actual content? I'm assuming you can't change the db design...
Two quick& dirty & perhaps unsafe thing you can try is:
include("data:,$content");
//or
eval('?>'.$content.'<?');
Or you can replace with regex:
$phpTagPattern = "#<\?.*?(echo)\s+(\$\w+);.*?(\?>|$)#s"; //just searching specifically
//for <?php echo $varname; ?> to replace with $varname;
$replacePattern = "$2"; // this may need some cleaning/debugging here. It's late...
$newContent = preg_replace($phpTagPattern,$replacePattern,$content);
Then you're still going to have to parse_str to get the variable contents anyway...somewhat safer than executing code perhaps.
echo parse_str($newContent); //should get you to actual contents of $email variable
This all might be more easily achieved with the tokenizer extension: http://www.php.net/manual/en/tokenizer.examples.php You'd be searching for T_OPEN_TAG and T_CLOSE_TAG.
For a high-level Better Way To Do This(TM) kind of explanation, it would make more sense to simply store your actual data in the database, and put the content into a templating engine like smarty. Then you create the shell of the form and just pass variables to it where needed. Keep data separate from logic, and output/formatting markup separate still.