diff --git a/inc/class.page.php b/inc/class.page.php
--- a/inc/class.page.php
+++ b/inc/class.page.php
@@ -63,7 +63,7 @@ class page
    $this->trackingcode = '' . "\n"
      . $this->trackingcode;
 
-    session_start();
+   page::session_start();
     if($immediate
        && $ntitle != "NOHEAD")
       $this->head();
@@ -265,6 +265,26 @@ class page
 
   /**
    * \brief
+   *   Start the PHP session by calling session_start().
+   *
+   * Used to make sure that different areas of our code don't call
+   * session_start() multiple times and to make it easier to ensure
+   * that session_start() is called at least before it's needed.
+   */
+  public static function session_start()
+  {
+    static $session_started = FALSE;
+
+    if (!$session_started)
+      {
+	session_name('slate_permutate');
+	session_start();
+	$session_started = TRUE;
+      }
+  }
+
+  /**
+   * \brief
    *   Get the current school profile handle.
    */
   public function get_school()
diff --git a/process.php b/process.php
--- a/process.php
+++ b/process.php
@@ -1,19 +1,11 @@
 DEBUG OUTPUT: 
';
-	foreach(sortInputs($_POST) as $class) {
+	foreach($_POST['postData'] as $class) {
 		echo 'Class: ' . $class['name'] . '
';
 		foreach($class as $section)
 			if(is_array($section))