Script-Probleme mit der PHP Ver. 4.3.1
Harald
- php
0 Gnoll0 Harald0 Gnoll0 Harald0 Tobias Kloth0 Harald0 Tobias Kloth0 Harald
Hallo,
ich habe ein Script, was dynamisch Bilder anzeigen soll. So sieht der Link zum Scriptaufruf aus: "picview.php?action=So02_06b.jpg&b_name=Sommerurlaub"
Mein Problem, nachdem mein Webhoster die PHP Version geupdatet hat, läuft das Script nicht mehr richtig. Wenn ich versuche damit Bilder aufzurufen kommt die Meldung "Kein Bild Gefunden".
Ich vermute die neue Vers. 4.3.1 kann den "action-Befehl" nicht mehr ausführen.
Hier das Bildanzeige-Script:
<?php
if ($action == "") { goout(); }
else { print_form($action,$b_name); }
function print_form($action,$b_name) {
if (!isset($align)) {$align="center";}
echo "<br><table align=$align><tr><td class="title">$b_name</td></tr><tr><td class="desc3"><a href="javascript:history.back()"><img src="$action" border=0 title="Klicken, um zurückzukehren"></a></td></tr><tr><td class="title"><a href="javascript:history.back()">zurück</a></td></tr></table>";
}
function goout() {
echo "<font class="wht">Kein Bild angegeben</font>";
}
?>
Gruß
Harald
sieht für mich nach ausgeschalteten register_globals aus.
versuche mal anstatt jeder Variable, die eigentlich übergeben werden sollte, die entsprechende aus dem Array $_GET zu holen. Anstatt $action einfach $_GET["action"].
Gruss
Gnoll
Komme mit Deinen Tip auch nicht weiter. Läuft so nicht.
Gruß
Harald
sieht für mich nach ausgeschalteten register_globals aus.
versuche mal anstatt jeder Variable, die eigentlich übergeben werden sollte, die entsprechende aus dem Array $_GET zu holen. Anstatt $action einfach $_GET["action"].Gruss
Gnoll
Wie sieht die Ausgabe im HTML-File aus, also beim src?
Da steht nur das Verzeichnis, aber die Datei fehlt.
Ich habe jetzt kurz meinen Webhoster informiert. Ich hoffe, dass er das "register_globals" wieder aktiviert. Dann müsste das Script wieder laufen.
Danke für den tip mit dem "register_globals". Konnte nicht wissen, dass es daran liegt. Wozu ist das aber wichtig? Gibt es Gründe die Funktion zu deaktivieren?
Gruß
Haralt
Wie sieht die Ausgabe im HTML-File aus, also beim src?
Hallo Harald,
Ich habe jetzt kurz meinen Webhoster informiert. Ich hoffe, dass er das "register_globals" wieder aktiviert.
wenn es ein guter Hoster ist, wird er es nicht tun. Das hat durchaus seinen Grund, warum das auf off steht.
Dann müsste das Script wieder laufen.
Schreib deine Script so, dass sie mit register_globals=off laufen.
Danke für den tip mit dem "register_globals". Konnte nicht wissen, dass es daran liegt. Wozu ist das aber wichtig? Gibt es Gründe die Funktion zu deaktivieren?
<zitat src="Cheatah">Schau bitte ins Archiv</zitat> :-)
Grüße aus Nürnberg
Tobias
Hallo Tobias,
was muss ich am Script ändern, damit es auch bei deaktivierten "register_globals" lauffähig bleibt?
Gruß
Harald
Hallo Harald,
Ich habe jetzt kurz meinen Webhoster informiert. Ich hoffe, dass er das "register_globals" wieder aktiviert.
wenn es ein guter Hoster ist, wird er es nicht tun. Das hat durchaus seinen Grund, warum das auf off steht.Dann müsste das Script wieder laufen.
Schreib deine Script so, dass sie mit register_globals=off laufen.Danke für den tip mit dem "register_globals". Konnte nicht wissen, dass es daran liegt. Wozu ist das aber wichtig? Gibt es Gründe die Funktion zu deaktivieren?
<zitat src="Cheatah">Schau bitte ins Archiv</zitat> :-)Grüße aus Nürnberg
Tobias
Hallo Harald,
was muss ich am Script ändern, damit es auch bei deaktivierten "register_globals" lauffähig bleibt?
das hat dir Gnoll doch schon gesagt - wenn du mit picview.php?action=So02_06b.jpg&b_name=Sommerurlaub auf eine Datei verlinkst, darfst du nicht mit $action bzw. $b_name auf die Parameter zugreifen, sondern musst $_GET['action'] bzw. $_GET['b_name'] verwenden (wenn du ein Formular mit method="post" hast, stehen die Werte in dem Array $_POST).
Hallo Harald,
[...]
Grüße aus Nürnberg
Tobias
Grüße aus Nürnberg
Tobias
Hallo Tobias,
habe seit einigen Minuten meine Lösung gefunden:
<?php
$action=$_GET["action"];
if ($action== "") { goout(); }
else { print_form($action, $_GET["b_name"]); }
function print_form($action, $b_name) {
if (!isset($align)) {$align="center";}
echo "<br><table align=$align><tr><td class="title">$b_name</td></tr><tr><td class="desc3"><a href="javascript:history.back()"><img src="$action" border=0 title="Klicken, um zurückzukehren"></a></td></tr><tr><td class="title"><a href="javascript:history.back()">zurück</a></td></tr></table>";
}
function goout() {
echo "<font class="wht">Kein Bild angegeben</font>";
}
?>
Vielen Dank
Harald
Hallo Harald,
was muss ich am Script ändern, damit es auch bei deaktivierten "register_globals" lauffähig bleibt?
das hat dir Gnoll doch schon gesagt - wenn du mit picview.php?action=So02_06b.jpg&b_name=Sommerurlaub auf eine Datei verlinkst, darfst du nicht mit $action bzw. $b_name auf die Parameter zugreifen, sondern musst $_GET['action'] bzw. $_GET['b_name'] verwenden (wenn du ein Formular mit method="post" hast, stehen die Werte in dem Array $_POST).Hallo Harald,
[...]
Grüße aus Nürnberg
Tobias
http://learn.to/quoteGrüße aus Nürnberg
Tobias