first, i advice you to use single quotes instead of double quotes inside your MySQL queries (though it should work fine on most other queries).
e.g.
$sql = "INSERT INTO Data VALUES( \"$ID\", \"$name\", \"$email\", \"$extra\", \"$listID\" )";
/** make it **/
$sql = "INSERT INTO Data VALUES('$ID', '$name', '$email', '$extra', '$listID' )";
then, if this part of your code is inside some PHP code body or subpart such as functions or objects your should declare your POST variables as global...
e.g.
global $extra;
$GLOBALS['extra'];
etc.
btw, better make sure that you're inserting the right number of columns in the right fields in MySQL.
or practice doing this:
INSERT INTO <yourtable> SET id='$ID', name='$name', subscriber='$extra'
😉