Fehlermeldung geht unter! speicherbar?

BeaTBoxX

Erfahrenes Mitglied
Hallo zusammen,

folgendes Szenario:

habe ne Index.php darin include ich einige andere Dateien unter anderem z.B. eine general_functions.inc.php.
Darin sind ein paar Funktionen die ich dann in anderen Dateien nutze.

Mein Problem: wenn ich beim schreiben der Funktion selber einen Fehler mache, bekomme ich als Fehlermeldung nur Fatal error: Call to undefined function: funktion_xyz() in line 4711.

Kann ich irgendwie bewerkstelligen, dass ich eine Fehlermeldung bekomme, mit der ich auch was anfangen kann um vernuenftig zu debuggen?

Danke!

Gruß
Frank
 
Hi BeaTBoxX

Also eigentlich ist
error_reporting(E_ALL); //Alle Fehlerberichte
immer sehr redselig.
Vielleicht kannst du uns auch einfach mal was von den Funktionen zeigen.
Also die, wo du die Fehler vermutest.

MfG

Ecthelion


----
Edit weitere Idee:

Bau doch selber kleine "echo's" ein die dir ausgeben wie weit der Script oder eine Funktion abgearbeitet wurde.
 
Was soll denn an der Fehlermeldung „Call to undefined function: funktion_xyz() in line 4711“ missverständlich sein?
 
Naja call to undefined function wuerde ich erwarten, wenn die function garnicht vorhanden ist, oder mit den falschen Parametern.

Ok Beispiel aus dem Code:

PHP:
//GEHT
function ko_bereich_rechte() {
	
	$result = array();
	$qrystring = "SELECT DISTINCT bid FROM faq_user_rechte WHERE uid = '".$_SESSION['uid']."' AND rechte = '3'";
	$myresult = mysql_query($qrystring)or die('bidtest:'.mysql_error());
	
	while($datensatz= mysql_fetch_assoc($myresult)) {
	
	
		$erlaubte_bereichs_ids[]=$datensatz['bid'];
	
	}
	$result = $erlaubte_bereichs_ids;
	
return $result;
	
}

PHP:
// GEHT NICHT %)
function ko_bereich_rechte() {
	
	$result = array();
	$qrystring = "SELECT DISTINCT bid FROM faq_user_rechte WHERE uid = '".$_SESSION['uid']."' AND rechte = '3'";
	$myresult = mysql_query($qrystring)or die('bidtest:'.mysql_error());
	
	while($datensatz= mysql_fetch_assoc($myresult)) {
	
	
		$erlaubte_bereichs_ids[]=$datensatz['bid'];
	
	}
	
	$alle_bereiche = bereich_array();
	
	foreach($alle_bereiche as $bereich) {
	
		if(in_array($bereich[id],$erlaubte_bereichs_ids) ) {
			$result[] = $bereich[id];
		}
	}
	
	return $result;
	
		
}

Habe nur den unteren bereich auskommentiert und das result angepasst.

Der Aufruf geschieht im mom testweise so:

PHP:
$bla= array();
$bla = ko_bereich_rechte();
print_r($bla);

Es scheint ja wohl so als sei in diesem unteren auskommentierten (hier geloeschten) Teil ein Fehler.. tjaa aber genau dazu haette ich gern ne Fehlermeldung %)

Versteht ihr nun mein Problem?


Gruß
Frank
 
Zuletzt bearbeitet:
Oha.. mom ich hab grad den Fehler gefunden... beim Kopieren..
Was aber an meiner Frage nichts aendert :)

Ich muss das ass. Array $bereich natuerlich mit ' ' aufrufen.. also $bereich['id'] nicht $bereich[id].
So funktionierts dann auch.

Aber kann man das anhand der Fehlermeldung finden? Bzw aussagekraeftigere Fehlermeldungen provozieren? (Das war ja meine eigentliche Frage :-) )


PS :Ecthelion

PHP:
ini_set('display_errors', 1);
error_reporting(E_ALL);
Hab ich drin :)


Danke erstmal :)
Gruß
Frank
 
Zuletzt bearbeitet:
Zurück