Come ti è già stato detto session_start() lo devi mettere all'inizio... prima di qualsiasi cosa, spazi compresi. Per quanto riguarda gli undefined index probabilmente tenti di recuperare il valore di un array con chiave inesistente.