Hallo!
Ich habe in meinem CMS diese Funktion:
Diese Funktion lädt mir Module in meine Seite. Nun habe ich mal (testweise) ein Modul mit den folgenden Zeilen:
Das CMS läuft auf meinem Testrechner, auf dem ein Apache 2 mit PHP5 und MySQL5 läuft. Dabei läuft es auch über einen VirtualHost (www.cms.de). Rufe ich die Seite nun auf, wird eine Textdatei erstellt, die eine 1 enthält. Zusätzlich wird ein "OK" in einer Blackbox ausgegeben. Sind jedoch die folgenden Bedingungen erfüllt:
- Der aufruf erfolgt über www.cms.de (nicht über Localhost, 192.168.0.1, etc).
- Ich bin im CMS als Administrator eingeloggt
- Ich rufe die besagte Seite mit dem Firefox auf
Wird mir zwar auch das OK in der Blackbox ausgegeben, die Textdatei enthält jedoch gleich "zwei" 1.
Es sieht so aus, als würde das Modul gleich zwei mal eingebunden werden, was wiederum nicht sein kann, da das OK in der Blackbox nur einmal ausgegeben wird.
Und irgendwie bin ich nun grad mit meinem Latein am Ende. Ich würde ja noch verstehen, wenn ich irgendwo einen Fehler beim Coden gemacht hätte, und das Problem sich auf den Administrator Account beziehen würde. Es ist aber zugleich an den VirtualHost und an den Firefox geubnden, der ja wiederum kein Einfluss auf das Parsen des Scripts haben kann, da das ja Serverseitig passiert. Also scheint wohl mein Apache ne Macke zu haben, oder was ist da los?
Hat schon jemand von Euch so ein Phänomen erlebt und weis ggf. eine Lösung für oder hat nen Tip für mich wie ich das Problem lokalisieren kann?
Ein "echo $line['module']" in der oberen Funktion zeigt mir, dass das Modul der Seite NICHT zweimal zugewiesen wurde. Auch ein require_once statt des include hindert das Script nicht daran zwei mal eine 1 in die Textdatei zu schreiben.
Hoffe mir kann irgendwer von Euch helfen. Danke schonmal...
Ich habe in meinem CMS diese Funktion:
Code:
$sql = mysql_query("SELECT * FROM modules"); if(!empty($sql)) { if(mysql_num_rows($sql) > 0) { while($line = mysql_fetch_assoc($sql)) { ... if(!empty($line['module'])) { include("modules/".$line['module']."/index.php"); } ... } } mysql_free_result($sql); }
Code:
$fp = fopen("C:\\text.txt", "a"); if(fwrite($fp,1."\n")) { echo '<div style="background-color:#000000;color:#FFFFFF;">OK</div>'; } fclose($fp);
- Der aufruf erfolgt über www.cms.de (nicht über Localhost, 192.168.0.1, etc).
- Ich bin im CMS als Administrator eingeloggt
- Ich rufe die besagte Seite mit dem Firefox auf
Wird mir zwar auch das OK in der Blackbox ausgegeben, die Textdatei enthält jedoch gleich "zwei" 1.
Es sieht so aus, als würde das Modul gleich zwei mal eingebunden werden, was wiederum nicht sein kann, da das OK in der Blackbox nur einmal ausgegeben wird.
Und irgendwie bin ich nun grad mit meinem Latein am Ende. Ich würde ja noch verstehen, wenn ich irgendwo einen Fehler beim Coden gemacht hätte, und das Problem sich auf den Administrator Account beziehen würde. Es ist aber zugleich an den VirtualHost und an den Firefox geubnden, der ja wiederum kein Einfluss auf das Parsen des Scripts haben kann, da das ja Serverseitig passiert. Also scheint wohl mein Apache ne Macke zu haben, oder was ist da los?
Hat schon jemand von Euch so ein Phänomen erlebt und weis ggf. eine Lösung für oder hat nen Tip für mich wie ich das Problem lokalisieren kann?
Ein "echo $line['module']" in der oberen Funktion zeigt mir, dass das Modul der Seite NICHT zweimal zugewiesen wurde. Auch ein require_once statt des include hindert das Script nicht daran zwei mal eine 1 in die Textdatei zu schreiben.
Hoffe mir kann irgendwer von Euch helfen. Danke schonmal...
Kommentar