kRueMeL: Probleme mit Post/Get und php

Ich habe bei mir das Problem, das ich ein einfaches Post bzw. Get nicht einfach mit PHP auswerten kann. Mein Aufruf über eine Url sieht so aus:

http://server/test.php?name=uhu&alter=25

und das PHP:

<?php
echo "Ihr Name ist $name.";
echo "Sie sind $alter Jahre alt.";
?>

eigendlich recht einfach. die Werte kann ich nur über

while (list($key,$val) = each($HTTP_POST_VARS))

auslesen. Ich bin mir aber sicher, dass das vorher auch mal anders ging. Ich habe ein Suse-Linux 8.1 und Apache 1.xx

Wenn jemand Ideen oder Lösungen hat, wär ich begeistert.

Danke

  1. Hallo kRueMeL,

    http://server/test.php?name=uhu&alter=25
    echo "Ihr Name ist $name.";
    echo "Sie sind $alter Jahre alt.";

    ich tippe mal auf register_globals=off - $_GET['name'] (bzw. $_GET['alter']) sollte helfen (ggf. auch $HTTP_GET_VARS['name'] wenn du eine php-Version <4.1 hast).

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
  2. Hi kruemel

    das liegt denke ich daran, dass du früher eine andere PHP-Version verwendet hast. Seit der Version 4.irgendwas ist register_globals standartmässig auf off gestellt. Du kannst die Variablen mit $_GET['name'] bzw $_POST['name'] abfragen oder alternativ register_globals auf on stellen, was aber aus sicherheitsgründen nicht zu empfehlen ist.

    Gruss
    Carl

  3. hi,

    was du hier hast ist eigentlich kein problem, sondern eine durchaus sinnvolle sache. ein wenig modifiziert funktioniert dein script dann auch wie gewünscht.

    <?php
    $name = $_GET['name'];
    $alter = $_GET['alter'];
    echo "Ihr Name ist $name.";
    echo "Sie sind $alter Jahre alt.";
    ?>

    du solltest dir diesbezüglich auch mal die seite www.php.net ansehen.

    grüße,
    small-step