HTML wird manchmal nicht komplett geladen?

Der Code ist von vBulletin, den ich nur um das "or die" erweitert habe.

PHP:
   ob_start();
   (@include_once ('./skript.php')) OR die ('Internal File Error!');
   $Skript = ob_get_contents();
   ob_end_clean();

Dieser Code steht in der Datei das_tolle_skript.php.

Die Variable "$Skript" ist im Template eingebaut.
 
Zuletzt bearbeitet:
Hmm, dann ich deine letzte Beschreibung falsch verstanden. Ich verstand, das der Code von vBulletin in dein script.php includet wird.

Für das vBulletin wird es sicher eine index.php geben. Dort sollte der Einstiegspunkt sein. Ich wollte jetzt grad doch mal den Kram runter laden und sehe, dass das ja Geld kostet... Also kann ich diesbezüglich leider nicht im Sourcecode rumwuseln.
 
Nein. :) Vielleicht habe ich mich auch nur falsch ausgedrückt.

Ich bin auch momentan in meinem Laden und schreibe von einer "Mini-Tastatur" mit meinen großen Fingern. Ich versuche sowenig wie möglich zu schreiben. ;)

das_tolle_skript.php
Diese PHP-Datei wird als "Bridge" zwischen vBulletin und meinem Skirpt verwendet. In dieser Datei wird die "global.php" von vBulletin includet. Des Weiteren wird aquch hier die "Navbar" geformt. Also der Teil wo später dann "Forum -> Programming -> PHP -> HTML wird manchmal nicht komplett geladen?" steht. In dieser Datei wird auch das vBulletin-Template geladen und irgendwie "geprintet". Des Weiteren wird hier auch mein Skript (skript.php) includet. Der Code mit dem "ob_start".

vBulletin-Template:
Laut vBulletin Anleitung muss man halt im Admin-CP ein Template anlegen mit den Variablen "$header" usw. Natürlich auch das Layout von vBulletin. Also headinclude, header, navbar, sidebar usw. usw. An eine geeignete Stelle wird das die Variable "$skript" eingefügt.

skript.php
Das ist mein Skript. In Skript befindet sich am Anfang ergänzender JS-Code und CSS-Code in den richtigen Tags. Danach folgt erst einmal ein bisschen HTML für das Layout des Formulars. Dann folgt das eigentliche 4500-Zeilen Skript. Zum Schluss kommt dann wieder HTML-Code für das Formular mit über 300 echos (wegen selected).

Das wars.
 
Verstehe. Also ist das_tolle_script.php der Einstiegspunkt, quasi die index.php?

Wenn dem so ist, dann ist der ob_start()-Teil und das was ich sonst im Beispiel gepostet habe, in script.php fehl am Platz und gehört in das_tolle_script.php.

Also
- ob_start()
- dann include von global.php / deine Navbar
- dann der include auf script.php
- dann ob_get_contents(), etc.
 
Ich habe jetzt einfach mal etwas anderes ausprobiert.

Ich habe sämtlichen Code bis auf den PHP-Code gelöscht. Dann habe ich deinen "Fehler-Code" am Anfang des Skriptes eingebaut. Dann habe ich feste Variablen eingefügt damit das Skript ohne Formular usw. arbeitet.

Und jetzt bekomme ich tatsächlich ein paar Fehler.

Notice: Undefined index

Ich habe wohl vergessen bei einem "Post" zu prüfen ob der "Post" leer ist.

Dann kommt noch eine Meldung das eine Grafik nicht gefunden werden kann. Aber wenn ich die URL VOM FEHLER kopiere und eingebe, wird die Grafik angezeigt. :rolleyes:

Die restlichen Fehler entstehen, weil die Grafik nicht gefunden wird.

EDIT:

Das waren jetzt mehr Fehler aus ich gedacht hätte. :rolleyes:

Ich muss sämtliche Pfade ändern. Dann gab es auch, wegen einem größeren Umbau, zwei Variablen die nie definiert wurden.

Aktuell bekomme ich "nur" noch den Fehler "Notice: Undefined index: HTTP_REFERER in".
 
Zuletzt bearbeitet:
Ich muss sämtliche Pfade ändern. Dann gab es auch, wegen einem größeren Umbau, zwei Variablen die nie definiert wurden.

Dafür wurden die defines erfunden. Dann musst du nämlich den Pfad nur noch an einer Stelle verändern. Schau dir den Befehl define() an.

Aktuell bekomme ich "nur" noch den Fehler "Notice: Undefined index: HTTP_REFERER in".

Hierfür wäre es ratsam, isset() zu verwenden. Bsp:

PHP:
if( isset( $_SERVER['HTTP_REFERER'] ) )
{
  // Referer ist gesetzt...
}

Der Referer ist nämlich dann nicht gesetzt, wenn man eine Seite direkt ansurft, also die Adresse direkt in den Browser eingibt (oder z.B. auch bei einem Bookmark. Referer hat man nur, wenn man von einer Seite zu deiner Seite surft.
 
Zurück