Benedikt Hermann: Unterschiede PHP 4.2.0 und 4.2.2

Hallo,

seit mein Provider die PHP Version upgedatet hat, funktioniert eine dynamische Website von mir nicht mehr.

Php und Mysql wurd verwendet.

Was sind ei Untershciede zw. den veiden Versionen?

Bene

  1. Hallo,

    seit mein Provider die PHP Version upgedatet hat, funktioniert eine dynamische Website von mir nicht mehr.

    Php und Mysql wurd verwendet.

    Was sind ei Untershciede zw. den veiden Versionen?

    Bene

    Im Prinzip sind nur Sicherheitsupdates gemacht worden. Vielleicht hat dein Provider ja ein paar Optionen umgestellt.

    Falls du näheres über die Unterschiede wissen willst:
    http://www.php.net

    gruß,
    finnsen

    1. vielen Dank,

      das Problem ist folgendes:

      ich übermittle Variablen mittels get im Link.

      Also sieht ein Link z.B. so aus:

      <a href="datei.php?kategorie=fun">link</a>

      in der Version 4.2.0 funktionierte dies einwandfrei.
      Seit dem Update kommt die Variable auf der Zeilseite immer leer an.

      Woran liegt das?

      Vielen Dank

      Benedikt Hermann

      1. Hallo,

        das Problem ist folgendes:

        ich übermittle Variablen mittels get im Link.

        Also sieht ein Link z.B. so aus:

        <a href="datei.php?kategorie=fun">link</a>

        in der Version 4.2.0 funktionierte dies einwandfrei.
        Seit dem Update kommt die Variable auf der Zeilseite immer leer an.

        Woran liegt das?

        Da wird wohl register_globals=off gesetzt sein. Also gleich an die neue Schreibweise gewoehnen und an Sicherheit gewinnen:

        <?php
        $kategorie=$_GET["kategorie"];
        ?>

        (ebenso mit $_POST, $_ENV, $_SERVER, $_COOKIE, $_SESSION, ...)

        MfG, Thomas

        1. Da wird wohl register_globals=off gesetzt sein. Also gleich an die neue Schreibweise gewoehnen und an Sicherheit gewinnen:

          Hallo Thomas,

          vielen Dank! Daran lag es.

          Noch eine Frage:

          Für was steht $_ENV ?

          Vielen Grüße

          Benedikt Hermann

          1. hi

            im $_ENV array stehen die Umgebungs-variablen des Webservers

            bye

            1. im $_ENV array stehen die Umgebungs-variablen des Webservers

              also analog zu $_SERVER ?

              1. Hallo,

                im $_ENV array stehen die Umgebungs-variablen des Webservers

                also analog zu $_SERVER ?

                Ja, ist weitgehend identisch.

                <?php
                foreach($_ENV as $key=>$val)print $key." ".$val."<br>";
                ?>

                gibt die verfuegbaren Umgebungsvariablen und ihre Werte aus.

                MfG, Thomas

  2. Holla

    Was sind ei Untershciede zw. den veiden Versionen?

    Eins haben sie gemeinsam ... einen tollen (riesen) Bug, der die Entwickler aber allem Anschein nach nicht im geringsten tangiert (oder zumindest nicht besonders sehr, was es bei einem Bug dieser Größenordnung allerdings tun sollte) (http://bugs.php.net/bug.php?id=17958) ...

    -------------------------------
    <html>
    <head><title>Test: $_POST</title>
    </head>
    <body>

    <?php
    echo "POST:<br>";
    while(list($pkey, $pvalue)=each($_POST))
     echo $pkey." = ".$pvalue."<br>";
    echo "<br>";
    reset($_POST);
    ?>

    <form method="post" action="<?=$_SERVER["PHP_SELF"]?>" enctype="multipart/form-data">
     <input name="xx" value="<?= $_POST["xx"] ?>"><br>
     <input name="xy" value="<?= $_POST["xy"] ?>"><br>
     <input type="hidden" name="b" value="z">
     <input type="submit" name="s1" value="go">
    </form>

    </body>
    </html>
    ------------------------------------------------------

    Wo der Bug liegt ? Ab 4.2.0 schafft es PHP regelmäßig, bei vorhandensei von enctype="multipart/form-data" das $_POST-Array nicht aufzufüllen sondern es einfach leer zu lassen. Starke Sache, tritt nicht immer auf, aber manchmal (d.h. meistens), quer durch die Bank von Linux-Apachen über BSD-Apachen, Windows-Apachen und IISler ...
    Das schöne ist, nimmt man den enctype wieder raus, funzts ohne Probleme ...

    Ciao,

    Harry