Hallo.
Ich soll an einem bestehenden System einige Änderungen vornehmen. Im ersten Schritt möchte ich das System lokal lauffähig machen, um dann im zweiten Schritt die Änderungen vorzunehmen.
Beim ersten Schritt hänge ich fest.
Es handelt es sich um ein System, das per iframe eingebunden wird, also bspw. so:
Eingebunden wird ein Formular, in das man einige Daten eingeben kann, die dann bei einem Klick auf "Senden" gespeichert werden.
Rufe ich die HTML-Seite mit dem iframe auf, wird das Formular korrekt angezeigt. Klicke ich aber auf "Senden", bekomme ich eine weisse Seite.
Die api.php wird nach "Senden" aufgerufen und kommt bis zum Methoden-Aufruf einer eingebundenen Datenbank-Klasse.
Beispiel:
Die Ausgabe von "hier1" kommt, aber "hier2" nicht mehr. Folglich hängt das Skript in get_data.
get_data befindet sich in einer inkludierten Klasse. Lasse ich direkt am Anfang etwas ausgeben, wird dies nicht angezeigt. Die Methode wird also aufgerufen und hängt...oder wird eben nicht aufgerufen...wie man's nimmt.
Was ich bisher ausprobiert/herausgefunden habe:
get_data wird beim ersten Aufruf durch api.php korrekt ausgeführt. Es liegt also kein Syntax-Fehler o. ä. vor, der das Inkludieren verhindert.
error_reporting ist E_ALL
register_globals testweise eingeschaltet, brachte aber nichts
Es sind keine Einträge in den Error-Logs.
Rufe ich die api.php nicht über iframe auf, sondern tippe den Aufruf direkt in die Adresszeile ein, hängt das Skript nach dem Klick auf "Senden" genauso fest.
Dass beim Absenden des Skripts eine andere api.php oder eine andere DB-Klasse genutzt wird, kann ich definitiv ausschließen. Auch dass die api.php oder die DB-Klasse nicht gefunden wird, kann ich ausschließen.
Anstatt get_data lasse ich in der api.php vorher eine Test-Methode aufrufen, die lediglich ein echo besitzt. Auch diese Methode wird nach "Senden" nicht ausgeführt. Es liegt demnach nicht an get_data an sich.
Tja, und nun weiß ich nicht weiter, denn ich habe keine Ahnung, wo ich noch suchen soll.
Ich weiß, dass das relativ wenige Informationen sind, aber vielleicht hat ja jemand sowas schon mal erlebt und hat eine Idee...?
Quellcode kann ich leider nicht liefern, da das System irrsinnig groß ist (allein in der api.php werden 10 Skripte inkludiert) und selbst wenn ich Quellcode entfernen würde, von dem ich meine, dass er nichts mit dem Fehler zu tun hat, wäre es immer noch viel zu groß und unübersichtlich, um es hier zu posten.
cya
Ich soll an einem bestehenden System einige Änderungen vornehmen. Im ersten Schritt möchte ich das System lokal lauffähig machen, um dann im zweiten Schritt die Änderungen vorzunehmen.
Beim ersten Schritt hänge ich fest.
Es handelt es sich um ein System, das per iframe eingebunden wird, also bspw. so:
Code:
<iframe src="localhost/api?token=d74f40186d6dc2c0492c9bc098"></iframe>
Rufe ich die HTML-Seite mit dem iframe auf, wird das Formular korrekt angezeigt. Klicke ich aber auf "Senden", bekomme ich eine weisse Seite.
Die api.php wird nach "Senden" aufgerufen und kommt bis zum Methoden-Aufruf einer eingebundenen Datenbank-Klasse.
Beispiel:
Code:
. . . echo "hier1<br>"; $data = $db->get_data($_SESSION['token']); echo "hier2<br>"; ...
get_data befindet sich in einer inkludierten Klasse. Lasse ich direkt am Anfang etwas ausgeben, wird dies nicht angezeigt. Die Methode wird also aufgerufen und hängt...oder wird eben nicht aufgerufen...wie man's nimmt.
Code:
function get_data($tokenid) { echo "bin in get_data"; if (. . . .) . . . . }
get_data wird beim ersten Aufruf durch api.php korrekt ausgeführt. Es liegt also kein Syntax-Fehler o. ä. vor, der das Inkludieren verhindert.
error_reporting ist E_ALL
register_globals testweise eingeschaltet, brachte aber nichts
Es sind keine Einträge in den Error-Logs.
Rufe ich die api.php nicht über iframe auf, sondern tippe den Aufruf direkt in die Adresszeile ein, hängt das Skript nach dem Klick auf "Senden" genauso fest.
Dass beim Absenden des Skripts eine andere api.php oder eine andere DB-Klasse genutzt wird, kann ich definitiv ausschließen. Auch dass die api.php oder die DB-Klasse nicht gefunden wird, kann ich ausschließen.
Anstatt get_data lasse ich in der api.php vorher eine Test-Methode aufrufen, die lediglich ein echo besitzt. Auch diese Methode wird nach "Senden" nicht ausgeführt. Es liegt demnach nicht an get_data an sich.
Tja, und nun weiß ich nicht weiter, denn ich habe keine Ahnung, wo ich noch suchen soll.
Ich weiß, dass das relativ wenige Informationen sind, aber vielleicht hat ja jemand sowas schon mal erlebt und hat eine Idee...?
Quellcode kann ich leider nicht liefern, da das System irrsinnig groß ist (allein in der api.php werden 10 Skripte inkludiert) und selbst wenn ich Quellcode entfernen würde, von dem ich meine, dass er nichts mit dem Fehler zu tun hat, wäre es immer noch viel zu groß und unübersichtlich, um es hier zu posten.
cya
Comment