Blaubart: Script für Bannerwechsel, was ist falsch?

Beitrag lesen

Tach.

Es handelt sich in beiden Fällen um folgende Zeile (Zeile 39 und 71), dort wird bei Zeichen 101 ':' erwartet:

document.write('<a href="'?PHPSESSID=a2421c6629ff43bf78529e192bd34b93 + url + '" target="_blank">');

in meinem Code jedoch steht die Zeile in folgender Form:

document.write('<a href="' + url + '" target="_blank">');

Kann in diesem ?PHPSESSID=a2421c6629ff43bf78529e192bd34b93 der Fehler liegen?

Ja, das ist das Problem, weil diese Zeichenkette nicht im String steht, sondern dahinter. Javascript vermutet wegen des Fragezeichens einen ternären Operator und beschwert sich über den fehlenden Doppelpunkt.

Es sieht so aus, als liefe Deine Seite durch den PHP-Interpreter, der dann aufgrund aktivierter Optionen session.use_trans_sid und session.auto_start automatisch eine Session-ID an alles, was nach Verweis aussieht, hängt. Folgende drei Möglichkeiten zum Deaktivieren:

  • Falls Du Zugriff auf die php.ini hast, kannst Du direkt den Wert von session.auto_start auf 0 setzen.

  • Falls Du PHP über HTACCESS konfigurieren darfst, erstellst Du Dir auf dem Server eine Datei namens .htaccess und schreibst dort folgende Zeile hinein:

php_flag session.auto_start 0

  • Als letzte Möglichkeit bleibt noch das Bearbeiten Deiner HTML-Datei. Wenn die tatsächlich als PHP geparst wird, verabreichst Du ihr auch etwas PHP: Füge am Anfang der Datei folgende Zeile ein:

<?php ini_set("session.auto_start", "0"); ?>

Sollte keine der Aktionen helfen, kommst Du nochmal her. :)

--
Once is a mistake, twice is Jazz.