Vinzenz Mai: Uraltskript Image-Gallery v2.6 - register_globals-Problematik

Beitrag lesen

Hallo Thomas,

Problembeschreibung:
Innerhalb des Scripts werden "Parameter" abgefragt. Je nach Parameter wird ein html-Code ausgegeben. Die Eingaben verwendet und der nächste Step per Parameter angesteuert.
Bei mir passiert nur nichts, d.h. setze eine Checkbox und clicke auf den "weiter" Button, aber er kommt zu der Stelle zurück, an der er gerade ist.

das ist kein Wunder bei einem so uralten Skript. Dieses

<?
// impression-gallery v2.5 -- 22/12/2002

Ah ja, vier Jahre alt.

error_reporting(0);

Wenn PHP keine Fehler melden darf, darfst Du Dich nicht wundern, dass Du keine Fehlermeldungen erhältst. :-)

// only Configuration? -> send him to the big form
if ($step == "1" and $setup == "config") { $step++; }

So wo kommt $step her?

[...]

echo "<tr><td colspan=2><input type=hidden name=step value=1>&nbsp;</td></tr>\n";

Aha, "step" ist der Name eines versteckten Eingabefeldes. Das Skript geht daher davon aus, dass es anschließend automatisch eine Variable dieses Namens gibt. Alt, sehr alt, zu alt. Es verläßt sich auf die Einstellung

register_globals = on

Seit PHP 4.2.0, seit dem 22. April 2002 ist die Standardeinstellung von register_globals = off, siehe PHP-Handbuch.

Meine Empfehlung: Suche Dir ein aktuelleres Skript, oder passe das Skript an die geänderten Bedingungen an. Das betrifft nicht nur die Variable $step.

Freundliche Grüße

Vinzenz