Wo liegt der Fehler?

A

andyK

Hallo,

Und schon wieder ein Fehler ohne Fehlermeldung. :(


Das ist meine admin.php:

PHP:
<?php

require("lib/a.class.general.php");
require("lib/class.main.php");

$all = new all;


  switch($HTTP_GET_VARS["modus"])
  {
    case "general": $configure = new general; break;
    case "menue": $configure = new menue; break;

    default: $all->standard($configure->getsite());
  }
  


if($HTTP_GET_VARS["speichern"])
  $all->standard($configure->savedata());
else
  $all->standard($configure->getsite());

?>


und dieses hier, ist die a.class.general.php:

PHP:
<?php

class all
{
  function standard($inhalt)
  {
    global $conf, $datum, $uhrzeit, $online, $heute, $gestern, $gesamt, $copyright, $pagename, $current_user, $site_db;

    $tpl = tplload("admin/menu.tpl.html");

    echo tplprint($tpl, array_merge(array(
    "inhalt" => $inhalt)) );
    exit;
  }
}

class general
{

  function getfolder($folder, $now)
  {
    $dir = dir($folder);
    $i = 0;
    $temp = "";
    while($datei = $dir->read())
    {
      if($i > 1)
      {
        if($now == $datei) $temp .= "<option value=\"".$datei."\" selected>".$datei."</option>\n";
        else $temp .= "<option value=\"".$datei."\">".$datei."</option>\n";
      }
      $i++;
    }
    $dir->close();
    return $temp;
  }

	function ipcounter()
	{
	   global $conf, $HTTP_GET_VARS, $site_db;

	  for($i=1;$i<25;$i++)
       {
          if($site_db->zeile[0]["IP_COUNTER"] == ($i*60*60))
          	$ipcount .= "<option value=\"".($i*60*60)."\" selected>".$i." Stunden</option>\n";
            else $ipcount .= "<option value=\"".($i*60*60)."\">".$i." Stunden</option>\n";
       } return $ipcount;
    }

	function iponline()
	{
	   global $conf, $HTTP_GET_VARS, $site_db;


	  for($u=5;$u<121;$u+=5)
       {
          if($site_db->zeile[0]["IP_ONLINE"] == ($u*60))
          	$ipo .= "<option value=\"".($u*60)."\" selected>".$u." Minuten</option>\n";
            else $ipo .= "<option value=\"".($u*60)."\">".$u." Minuten</option>\n";
       } return $ipo;
    }



	function getsite()
	{
	   global $conf, $HTTP_GET_VARS, $site_db;

	   $inhalt = tplload("admin/general.tpl.html");
	   $inhalt = tplprint($inhalt, array("hptitel" => $site_db->zeile[0]["TITEL"],
	   					"email" => $site_db->zeile[0]["EMAIL"],
	   					"ip_count" => $this->ipcounter(),
	   					"ip_online" => $this->iponline(),
	   					"hpurl" => $site_db->zeile[0]["URL"],
	   					"design" => $this->getfolder("themes/", $conf->site_cfg_design)));
	   return $inhalt;
	   $all->standard($inhalt);

	}

	function savedata()
	{
	   global $conf, $HTTP_POST_VARS, $HTTP_GET_VARS, $site_db;

      $site_db->zeile[0]["TITEL"] = $HTTP_POST_VARS["site_cfg_titel"];
      $site_db->zeile[0]["URL"] = $HTTP_POST_VARS["site_cfg_url"];
      $site_db->zeile[0]["IP_COUNTER"] = $HTTP_POST_VARS["site_cfg_ip_counter"];
      $site_db->zeile[0]["IP_ONLINE"] = $HTTP_POST_VARS["site_cfg_ip_online"];
      $site_db->zeile[0]["EMAIL"] = $HTTP_POST_VARS["site_cfg_email"];
      $site_db->save();
      
	   $inhalt = tplload("admin/general.tpl.html");
	   $inhalt = tplprint($inhalt, array("hptitel" => $site_db->zeile[0]["TITEL"],
	   					"email" => $site_db->zeile[0]["EMAIL"],
	   					"ip_count" => $this->ipcounter(),
	   					"ip_online" => $this->iponline(),
	   					"hpurl" => $site_db->zeile[0]["URL"],
	   					"design" => $this->getfolder("themes/", $conf->site_cfg_design)));
	   return $inhalt;
	   $all->standard($inhalt);


	}
}

class menue
{
	function menu_direction()
	{
		$men_db = new Datenbank("datenbanken/site_menu","ram");
    	$men_db->connect();
	      switch($HTTP_GET_VARS["direction"])
	      {
	        case "right" :
	        {
	          $men_db->seek(array("ID"=>$HTTP_GET_VARS["id"]));

	          switch($men_db->zeile[$men_db->aktuelle_zeile]["POSITION"])
	          {
	            case "l" :
	              $men_db->zeile[$men_db->aktuelle_zeile]["POSITION"] = "r";
	              break;
	       //     case "r" :
	       //       $men_db->zeile[$men_db->aktuelle_zeile]["POSITION"] = "l";
	       //       break;
	          }

	           $men_db->save();
	           break;
	        }

	        case "left" :
	        {
	          $men_db->seek(array("ID"=>$HTTP_GET_VARS["id"]));
	            switch($men_db->zeile[$men_db->aktuelle_zeile]["POSITION"])
	            {
	              case "r" :
	                $men_db->zeile[$men_db->aktuelle_zeile]["POSITION"] = "l";
	                break;
	       //       case "m" :
	       //         $men_db->zeile[$men_db->aktuelle_zeile]["POSITION"] = "l";
	       //         break;
	            }
	
	            $men_db->save();
	            break;
	        }
	
	        case "up" :
	        {
	          if($HTTP_GET_VARS["id"] > 0)
	          {
	            $men_db->seek(array("ID"=>$HTTP_GET_VARS["id"]));
	            $alte_id = $men_db->zeile[$men_db->aktuelle_zeile]["ID"];
	            $alte_zeile = $men_db->aktuelle_zeile;
	            $men_db->seek(array("ID"=>($alte_id-1)));
	            $men_db->zeile[$men_db->aktuelle_zeile]["ID"] = $alte_id;
	            $men_db->zeile[$alte_zeile]["ID"] = $alte_id - 1;
	            $men_db->sort("ID"); $men_db->save();
	          }
	           break;
	        }

	        case "down" :
	        {
	          if($HTTP_GET_VARS["id"] < ($men_db->zeilen - 1))
	          {
	            $men_db->seek(array("ID"=>$HTTP_GET_VARS["id"]));
	            $alte_id = $men_db->zeile[$men_db->aktuelle_zeile]["ID"];
	            $alte_zeile = $men_db->aktuelle_zeile;
	            $men_db->seek(array("ID"=>($alte_id+1)));
	            $men_db->zeile[$men_db->aktuelle_zeile]["ID"] = $alte_id;
	            $men_db->zeile[$alte_zeile]["ID"] = $alte_id + 1;
	            $men_db->sort("ID");
  	            $men_db->save();
 	         }
	           break;
	        }
	      }
    }

	function loadmenu
	{
	  global $conf, $menu_db;
		for($i=1;$i<$menu_db->zeilen;$i++)
		{
		    $mp = tplload("admin/showmenu.tpl.html");
		    
		    if ($menu_db->zeile[$i]["POSITION"] == "r") $lor = "right"; else $lor = "left";

		    $edmenu .= tplprint($mp, array("menuname" => $menu_db->zeile[$i]["MENUNAME"],
									     "sID" => $menu_db->zeile[$i]["ID"],
									     "show_position" => $lor,
									     "link" => "admin.php?modus=menu&ed=1&edit=".$menu_db->zeile[$i]["ID"]."") );
		}

	   return $edmenu;
	}	
	
	function getsite()
	{
	   global $conf, $HTTP_GET_VARS, $site_db;

	   $inhalt = tplload("admin/change.tpl.html");
	   $inhalt = tplprint($inhalt, array("menu" => $this->loadmenu(),
	   							         "anz_menu" => $menu_db->zeilen,
	   							         "men_name" => "",
	   							         "men_link" => "",
	   							         "neworedit" => "",
	   							         "position_link_up" => "",
	   							         "position_link_down" => "",
	   							         "position_link_left" => "",
	   							         "position_link_right" => "")));
	   return $inhalt;
	   $all->standard($inhalt);

	}
	
	function savedata()
	{
	   global $conf, $HTTP_POST_VARS, $HTTP_GET_VARS, $site_db;

      
	   $inhalt = tplload("admin/general.tpl.html");
	   $inhalt = tplprint($inhalt, array("hptitel" => $site_db->zeile[0]["TITEL"],
	   							         "email" => $site_db->zeile[0]["EMAIL"],
	   							         "ip_count" => $this->ipcounter(),
	   							         "ip_online" => $this->iponline(),
	   							         "hpurl" => $site_db->zeile[0]["URL"],
	   							         "design" => $this->getfolder("themes/", $conf->site_cfg_design)));
	   return $inhalt;
	   $all->standard($inhalt);


	}	

}

Wenn ich nun die admin.php aufrufe (mit admin.php?modus=general)
passiert garnichts. Kein Inhalt, keine Fehlermeldung, nichts.

Aber erst seit ich in der a.class.general.php die zweite Klasse "class menue" reingeschrieben habe.
Ohne diese zweite Klasse, also nur die "class general", funktioniert es ohne Probleme.

Woran kann das liegen?

PS: die Funktion savedata() in der class menue ist nur so da. Die passt da so nicht.

Ich habe dann die "class menue" gelöscht, die "class general" kopiert und umbenannt in "class menue".

Und es geht. Aber warum?
 
Ich hab jetzt mal alles Zeile für Zeile nacheinander eingefügt und
der Fehler kommt, sobald ich den Platzhalter {menu} mit $this->loadmenu()
füllen will.

Deaktiviere ich diese Zeile, funktioniert es.

Ich versteh das nicht.

So binde ich doch auch das Menü in meiner Hauptseite ein. Da klappt es doch..

:rolleyes:
 
Zurück