I believe that the problem is that inside quotes, you have access to variables like $x and $y but not to array variables like $x[1]. One way to handle it is to break out of the quotes like you did for the session variable like this:
$update = mysql_query("
UPDATE form1.users SET
item0 = ".$se[0].",
item1 = ".$se[1].",
item2 = ".$se[2].",
item3 = ".$se[3].",
item4 = ".$se[4].",
item5 = ".$se[5].",
item6 = ".$se[6].",
WHERE form_id = '".$_SESSION['user_id']."'") or die('');
Another way you can handle it is to wrap each array variable in curly braces like this:
$update = mysql_query("
UPDATE form1.users SET
item0 = {$se[0]},
item1 = {$se[1]},
item2 = {$se[2]},
item3 = {$se[3]},
item4 = {$se[4]},
item5 = {$se[5]},
item6 = {$se[6]},
WHERE form_id = '".$_SESSION['user_id']."'") or die('');
BUT BUT BUT.......................
No matter which of those two solutions you choose from, there are two major problems.
The first problem is that those will only work for numbers, not strings.
The second problem, and this is huge, is that you are not protecting yourself against SQL injection. If you don't know what SQL injection is, learn about it - there are about 600,000 tutorials on the Internet to help you with them. And if you think that SQL injection doesn't apply to you because either (A) your form uses drop downs with numeric values, or (😎 your site is so small that nobody will ever find it and besides, who would want to vandalize an insignificant site like yours, think again. Your code is vulnerable and it's very easy to wipe your database.