The code you give looks (and runs) perfectly fine to me. It first sets $goalie to 'brown', but replaces it with $POST['goalie'] if $POST['goalie'] has a value. If you mean the line
$goalie = $SESSION['goalie'] = $POST['goalie'];
That should work (set the sessioned value of goalie to the posted value, then set the local value to the value of that), but it could be done with two lines:
$goalie = $POST['goalie'];
$SESSION['goalie'] = $_POST['goalie'];
if necessary.
I've never seen the error messages you describe wrt sessioning, and sounds like a configuration problem; I did forget to mention that session_start() has to be run before anything else is sent to the browser (even blank lines count as "anything else"), so should usually be on pretty much the very first line of the script:
---------goalie.php-------
<?php
session_start(); //Alright, maybe the second 🙂
or even
---------goalie.php-------
<?php session_start();
But the error messages would have been different.
Perhaps you should repost this particular problem in a seperate thread?