'headers already sent' -> one solution remove all output before calling session_start(); (also do not put session_start(); on top of every page, this is not recommended!) or use ob_start(); $buffer = ob_get_contents(); ob_end_flush(); and only call session_start(); whenever you need some session variables do not forget to use session_close(); after. You can also put all session variables in the global scope ($GLOBALS) however again do this only when you have a script like: $protects = array('_REQUEST', '_GET', '_POST', '_COOKIE', '_FILES', '_SERVER', '_ENV', 'GLOBALS', '_SESSION'); foreach ($protects as $protect) { if ( in_array($protect , array_keys($_REQUEST)) || in_array($protect , array_keys($_GET)) || in_array($protect , array_keys($_POST)) || in_array($protect , array_keys($_COOKIE)) || in_array($protect , array_keys($_FILES))) { die("Invalid Request."); } } to protect what is inside your global scope. Kinda will solve your first problem... problem2: 'gilman69_poker' is not recognized as a host -> check your configuration... (normally this would be localhost) I said normally... classes and templates... really gets rid of all the fuss :)