Call to undefined Function ssheader()

Scorcher

Mitglied
hi Folks
Die Fehlermeldung vom PHP steht ja oben, aber ich rufe die Funktion doch gar net auf ?
Unter google habe ich nur ein paar japanische Seiten bekommen.
Woher kommt die Funktion Hat jemand damit Efahrung ?
rya.
Scorcher24

edit: Komischerweise tritt dieser Fehler in 2 voneinander unabhängigen Funktionen auf und nur auf dem Webserver (apache 2), nicht auf dem lokalen Testapache (apache 2) !
 
Zuletzt bearbeitet:
Na wenn diese Fehlermeldung kommt, dann wirst du die Funktion schon irgendwo (indirekt vielleicht über ein include?) aufrufen... normalerweise sollte dir ja angezeigt werden, wo der Fehler auftritt, sprich wo in diesem Fall diese Funktion aufgerufen wird.
 
Woher sollen wir denn wissen, wieso Dein Script die Function ssheader() aufruft?
Vielleicht würde es helfen, wenn Du uns einen Blick in Deinen Quelltext gewährst, ...

redlama
 
PHP meldet dir doch sicher auch ne Zeilennummer, in der der Fehler auftritt. Und sicher kannst du diese Zeile und vielleicht noch ein paar Zeilen davor einfach mal genau ansehen oder im Zweifelsfall posten. Dann kommt man vielleicht einen Schritt weiter.
 
Ok hier ist das komplette Script. Der Fehler tritt bei beiden () Funktionen auf:
Code:
<?php
/*
	Datei : dbview.php
	Autor : Domenico Gentner
	Zweck : Ansicht des DatenbankInhalts
	Datum : 22.11.2004
*/
include ("layout.inc.php");
include ("config.php");
include ("database.php");
include ("funcs.inc.php");

define("_UP", "<img border=\"0\" src=/img/up.gif>");
define("_DOWN", "<img border=\"0\" src=/img/down.gif>");

//Zeigt die Dozenten an
function viewDozenten($sort, $order, $from, $to)
{
global $rooms, $DBCon, $dbuser, $dbname, $dbpasswd, $dbhost, $url;

/* Session wieder aufnehmen */
session_start();

/* wenn die Vars nicht registriert sind, 401 */
if (!session_is_registered("state")){
   Header("Location:". $url ."/errors/401.htm");
}
bzHead();

// Verbinden und daten holen !
$DBCon = new Database( $dbhost, $dbuser, $dbpasswd, $dbname );

/* Schauen ob schon Daten zur Sortierung vorhanden sind */
if (!isset($from)){
	$from=0;
}
if (!isset($to)){
   $to = 30;
}


$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent");
$num = @mysql_numrows($DBCon->uplink);
@mysql_free_result($DBCon->uplink);

/* Verschiedene Abfragen zur Sortierung */
switch ($sort)
{
case 1:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY id $order LIMIT $from,$to ");
	$_SESSION["sort"]=$sort;
	break;
	}
case 2:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY sTitel $order LIMIT $from,$to  ");
	$_SESSION["sort"]=$sort;
	break;
	}
case 3:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY sVorname $order LIMIT $from,$to ");
	$_SESSION["sort"]=$sort;
	break;
	}
case 4:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY sNachname $order LIMIT $from,$to ");
	break;
	}
case 5:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY sBerufsbezeichnung $order LIMIT $from,$to ");
	$_SESSION["sort"]=$sort;
	break;
	}
case 6:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY sBeschreibung $order LIMIT $from,$to ");
	$_SESSION["sort"]=$sort;
	break;
	}
default:{
	$DBCon->DoSQL("SELECT * FROM vhsNuernberg.Dozent ORDER BY id $order LIMIT 0,20 ");
	$_SESSION["sort"]=$sort;
	break;
	}
}

/* Fehlerbehandlung */
if (!$DBCon->uplink){
    Header("Location: ". $url ."/errors/sqlerr.htm");
}

/* Zählen */
$datacount = @mysql_numrows($DBCon->uplink);
/* Ausgabe */

echo "<h4><center>Auflistung Dozenten</center></h4>";
echo "<form name=sortit action=\"" .$url ."/dbview.php?action=1&sort=1\" method=\"POST\"><center>"
    ."$num Datensätze vorhanden. Wieviele soll ich zeigen?<br>"
    ."von<br>"
    ."<input size=\"5\" name=\"from\" value=\"". $from. "\" type=\"text\"><br>bis<br>"
    ."<input size=\"5\" name=\"to\" value=\"" .$to ."\" type=\"text\"><br><input type=submit value=\"Go\"></center></form>";

OpenTable(0);
echo "<center>";
for ($i=0;$i<$datacount;$i++){
	OpenRow();
		if ($i==0){
			echo "<th><A HREF=\"". $url ."/dbview.php?action=1&sort=1&order=DESC&from=$from&to=$to\">"._DOWN."</a>&nbsp;"
			     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=1&order=ASC&from=$from&to=$to\">ID</a>"
	             ."&nbsp;<A HREF=\"". $url ."/dbview.php?action=1&sort=1&order=ASC&from=$from&to=$to\">"._UP."</a></th>";
    		echo "\n";
			echo "<th bgcolor=\"#00FF00\">\n"
			     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=2&order=DESC&from=$from&to=$to\">"._DOWN."</a>&nbsp;"
			     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=2&order=ASC&from=$from&to=$to\">Titel</a>"
				 ."&nbsp;<A HREF=\"". $url ."/dbview.php?action=1&sort=2&order=ASC&from=$from&to=$to\">"._UP."</a></th>";
    		echo "\n";
    	 	echo "<th bgcolor=\"#FFCC33\">\n"
    	 	      ."<A HREF=\"". $url ."/dbview.php?action=1&sort=3&order=DESC&from=$from&to=$to\">"._DOWN."</A>&nbsp;"
    	 	     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=3&order=ASC&from=$from&to=$to\">Vorname</a>"
    	 	     ."&nbsp;<A HREF=\"". $url ."/dbview.php?action=1&sort=3&order=ASC&from=$from&to=$to\">"._UP."</A></th>";
			echo "\n";
    		echo "<th bgcolor=\"#FFCCFF\">\n"
    		     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=4&order=DESC&from=$from&to=$to\">"._DOWN."</A>&nbsp;"
    		     ."<A HREF=\"". $url ."/dbview.php?action=1&sort=4&order=ASC&from=$from&to=$to\">NachName</a>"
    		     ."&nbsp;<A HREF=\"". $url ."/dbview.php?action=1&sort=4&order=ASC&from=$from&to=$to\">"._UP."</a></th>";

    CloseRow();
    OpenRow();
	    	echo "<th>". mysql_result( $DBCon->uplink, $i, "id") ."</th>\n";
			echo "<th bgcolor=\"#00FF00\">". mysql_result($DBCon->uplink, $i, "sTitel") ."</th>\n";
			echo "<th bgcolor=\"#FFCC33\">". mysql_result($DBCon->uplink, $i, "sVorname") ."</th>\n";
			echo "<th bgcolor=\"#FFCCFF\">". mysql_result($DBCon->uplink, $i, "sNachname")."</th>\n";
		}else{
	    	echo "<th>". mysql_result( $DBCon->uplink, $i, "id") ."</th>";
			echo "<th bgcolor=\"#00FF00\">". mysql_result($DBCon->uplink, $i, "sTitel") ."</th>\n";
			echo "<th bgcolor=\"#FFCC33\">". mysql_result($DBCon->uplink, $i, "sVorname") ."</th>\n";
			echo "<th bgcolor=\"#FFCCFF\">". mysql_result($DBCon->uplink, $i, "sNachname")."</th>\n";
		}//if
	CloseRow();
	}//for
CloseTable();
echo "<center><a href=\"". $url ."/menu.php?action=1\">Zurück zum Menü</a><br>\n";
echo "</center>";
footer();
}

function viewRooms($sort, $order, $from, $to)
{
global $rooms, $DBCon, $dbuser, $dbname, $dbpasswd, $dbhost, $url;

// Session wieder aufnehmen
session_start();

/* wenn die Vars nicht registriert sind, 401 */
if (!session_is_registered("state")){
   Header("Location:". $url ."/errors/401.htm");
}

// HTML Header
bzHead();

// Verbinden und daten holen !
$DBCon = new Database( $dbhost, $dbuser, $dbpasswd, $dbname );

/* Schauen ob schon Daten zur Sortierung vorhanden sind */
if (!isset($from)){
	$from=0;
}
if (!isset($to) ){
   $to = 30;
}
if (session_is_registered("from")){
	$from = $_SESSION["from"];
}
if (session_is_registered("to")){
	$to = $_SESSION["to"];
}

/* Daten holen */
$link = $DBCon->DoSQLEx("SELECT id, sTitel FROM vhsNuernberg.Kurs ORDER BY id LIMIT 0, 1500");
if (!$link){
	die (mysql_error());
}
/* Zählung */
$num = @mysql_num_rows($link);

// Abfrage
OpenTable(0);
$counter = 0;
for ($i=0;$i<$num;$i++)
{
	// Kursdaten
	$kurs = mysql_fetch_array($link, MYSQL_ASSOC);

	// Raumbelegung und Zeiten holen
	$query = "SELECT sRaum, sOrt, dDatum, sZeitVon, sZeitBis FROM vhsNuernberg.Termin WHERE id=". $kurs["id"] ."";
	$roomlink = $DBCon->DoSQLEx($query);
	$room = mysql_fetch_array($roomlink, MYSQL_ASSOC);
	@mysql_free_result($roomlink);

	// ID des Dozenten zum Kurs
	$query = "SELECT rDozent FROM vhsNuernberg.xKursDozent WHERE rKurs=". $kurs["id"] ."";
	$dozlink = $DBCon->DoSQLEx($query);
	$dozent = mysql_fetch_array($dozlink, MYSQL_ASSOC);
	// Name des Dozenten zur ID
    if ($dozlink){
        $query = "SELECT sTitel, sVorname, sNachname FROM vhsNuernberg.Dozent WHERE id=". $dozent["rDozent"] . "";
        $teacherlink = $DBCon->DoSQLEx($query);
        @$teacher = mysql_fetch_array($teacherlink, MYSQL_ASSOC);
        }

	// Datum umwandeln
	$temp = explode("-", $room["dDatum"]);
	$correctdate = sprintf("%s.%s.%s", $temp[2], $temp[1], $temp[0]);

	// Ausgabe
	if (($counter == 0) && (lookbzn($room["sOrt"])) ){
		OpenRow();
		$counter++;
		echo "<th>KursID</th>";
		echo "<th bgcolor=\"#FFCC33\">Datum</th>";
		echo "<th bgcolor=\"#FFCCAA\">Dozent</th>";
		echo "<th bgcolor=\"#00FF00\">KursTitel</th>";
		echo "<th bgcolor=\"#FFCCFF\">Raumnummer</th>";
		CloseRow();
		OpenRow();
		echo "<th>". $kurs["id"] ."</th>";
		
		echo "<th bgcolor=\"#FFCC33\">". $correctdate ."</th>";
		echo "<th bgcolor=\"#FFCCAA\">". $teacher["sTitel"] ." ". $teacher["sVorname"] ." ". $teacher["sNachname"] ."</th>";
		echo "<th bgcolor=\"#00FF00\">". $kurs["sTitel"] ."</th>";
		echo "<th bgcolor=\"#FFCCFF\">". $room["sRaum"] ."</th>";
		CloseRow();
	}
	else if (lookbzn($room["sOrt"])){
		$counter++;
		OpenRow();
		echo "<th>". $kurs["id"] ."</th>";
		echo "<th bgcolor=\"#FFCC33\">". $correctdate ."</th>";
		echo "<th bgcolor=\"#FFCCAA\">". $teacher["sTitel"] ." ". $teacher["sNachname"] ." ".  $teacher["sVorname"]. "</th>";
		echo "<th bgcolor=\"#00FF00\">". $kurs["sTitel"] ."</th>";
		echo "<th bgcolor=\"#FFCCFF\">". $room["sRaum"] ."</th>";
		CloseRow();
	}//if $i==0
}
	// Ressourcen freigeben
@mysql_free_result($teacherlink);
@mysql_free_result($dozlink);
@mysql_free_result($link);
CloseTable();

echo "<center>". $num ."Datensätze gesamt,". $counter ."Datensätze angenommen !</center>";
echo "<center><a href=\"". $url ."/menu.php?action=1\">Zurück zum Menü</a><br></center>\n";
footer();
}

/* Dieses Switch regelt die Ein und Ausgabe ins Script ! */
switch ($action)
{
	case 1:{
		viewDozenten($sort, $order, $from, $to);
		break;
	}
	case 2:{
		viewRooms($sort, $order, $from, $to);
		break;
	}
	default:{
		ssHeader("Location:". $url ."/errors/401.htm");
		break;
	}
}

?>

Ich habe die Header nochmal durchforstet, aber da steht auch kein Aufruf. Ich meine ich habe alles von Scratch selber geschrieben. Ich weiss was in meinem Code steht und was nicht :) (hoffe ich doch).
rya.
Scorcher

edit:
Hier mal die genaue Meldung:
Fatal error: Call to undefined function: ssheader() in /srv/www/htdocs/dbview.php on line 267
 
Was ist denn mit den 4 dateien, die Du includest?
Gibt es einer von denen vielleicht Deine Function ssheader()? :suspekt:

redlama
 
Mist, da war ich eben zu voreilig, ...
Schau mal in Dein letztes switch:
PHP:
switch ($action)
{
	case 1:{
		viewDozenten($sort, $order, $from, $to);
		break;
	}
	case 2:{
		viewRooms($sort, $order, $from, $to);
		break;
	}
	default:{
		ssHeader("Location:". $url ."/errors/401.htm");
		break;
	}
}

?>
 
Oh sorry da hab ich nicht richtig gekuckt.. *peinlich*
Allerdings habe ich noch ein anderes Problem:
Ich hatte hierzu schon einen Thread erstellt der wurde aber von einem Mod geschlossen weil da ja schon tausendmal beantwortet wurde anscheinend. ich frage trotzdem nochmal:
Ich haabe ein formular da werden daten verschickt. Auf die kann ich mit $_POST["foo"] auch zugreifen. Allerdings nicht auf $foo ! Jetzt habe ich bei meinem System das Problem dass
bei einem Link wie zum Beispiel http://localhost/dbview.php?action=1 die Var $action auch NICHT mehr übergeben wird Auch nicht in $_POST !
Auf einem Lokalen Apache es, auf dem Server meiner Homepage es aber auf dem Zielserver nicht
Was habe ich denn da für ein Problem Liegt das and er Config vom apache auf dem System Oder an der PHP-ini Habe echt keine Ahnung.... und bitte net wieder schliessen

rya.
Scorcher24
 
Zurück