Harald: Script-Probleme mit der PHP Ver. 4.3.1

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

  1. 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

    1. 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

      1. Wie sieht die Ausgabe im HTML-File aus, also beim src?

        1. 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?

          1. 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

            --
            Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
            1. 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

              1. 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/quote

                Grüße aus Nürnberg
                Tobias

                --
                Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
                1. 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/quote

                  Grüße aus Nürnberg
                  Tobias