Uwe: $_GET["uid"]; oder doch nur $uid; ??

hi leute,

habe da mal eine frage und zwar habe ich mit der programmierung eines GB's angefangen! aber da hat sich eben ne frage für mich herraus gestellt und zwar:

ich habe ne seite x.php von diser seite soll mann zur y.php kommen in der der comment geschrieben wird! so nun wird die $uid; von x =nach=> y übertragen!

normaler weise schreibe ich dann immer:

$uid = $_GET["uid"];

das klappt auch immer nur wenn ich dann in der y.php was schreibe und absende und mann dann zwar in der y.php bleibt aber halt in:

if(isset($_POST["eintragen"]))
        {

jumped klappt das ganze nicht mehr!

WENN! ich aber sofort anstatt $_GET["uid"]; immer $uid; schreibe geht das ganze alles! wieso dann noch $_GET["uid"]; verwenden?

mfg uwe

  1. Holladiewaldfee,

    WENN! ich aber sofort anstatt $_GET["uid"]; immer $uid; schreibe geht das ganze alles! wieso dann noch $_GET["uid"]; verwenden?

    Welche PHP-Version läuft denn da? Das klingt ja nach uralt, wenn die nicht mal die $_GET und $_POST-Variablen kennt. Die $bla-Variante (Stichwort: register_globals) bringt viele Nachteile mit sich, hauptsächlich Sicherheitsprobleme bei unsauber programmierten Applikationen.

    Bsp:

    if($pass=='blablubb') $loggedin = true;
    if($loggedin = true)
    { # Supergeheime Member-Only-Area
    }

    Wenn man jetzt die Seite mit bla.php?loggedin=1 aufruft, ist man dann im supergeheimen Mitgliederbereich, auch wenn man nie eins gewesen ist. Das kann bei der Verwendung von $_GET und $_POST _und_ register_globals=off nicht passieren.

    Ciao,

    Harry

    --
      Irgendwann kommt die Waldfee - oder auch nicht ... (Projektphase: Keine Ahnung)
      Bis dahin:
      Ski- und Bergtouren in den Tölzer Voralpen und im Karwendel
    1. 你好 Harry,

      if($loggedin = true)
      { # Supergeheime Member-Only-Area
      }

      Wenn man jetzt die Seite mit bla.php?loggedin=1 aufruft, ist man dann im
      supergeheimen Mitgliederbereich, auch wenn man nie eins gewesen ist.

      In deinem Beispiel ist man _immer_ im supergeheimen Mitgliederbereich,
      krkr ;-)

      再见,
       CK

      --
      Die Stärke des Geistes ist unendlich, die Muskelkraft dagegen ist begrenzt.
      http://wwwtech.de/
  2. ist es denn egal wie mans macht?
    ob mit get oder ohne?

  3. Huhu uwe

    WENN! ich aber sofort anstatt $_GET["uid"]; immer $uid; schreibe geht das ganze alles! wieso dann noch $_GET["uid"]; verwenden?

    Deine Darstellung ist zwar etwas wirr, aber ich glaube dass ich es trotzdem begriffen habe.

    Also Du könntest

    a) den uid-Parameter innerhalb des Formulares als Input-Feld vom Typ hidden
    durchschleppen und dann statt $_GET['uid'] einfach $_REQUEST['uid'] abfragen.

    b) wie a) nur den UID-Parameter in einer Session speichern.

    c) die Ziel-Url des Formulares kann ja durchaus auch GET-Parameter enthalten, auch wenn die eigentlichen Formulardaten per Post geschickt werden.

    Also z.B.

    [...]
    <form method="post" action="{$_SERVER['PHP_SELF']}?uid={$_GET['uid']}">
    [...]

    d)-f) sind weitere Möglichkeiten

    g) nur für echte PHP-Wizards

    h)-i) hat man früher gemacht, jetzt aber nicht mehr

    $uid zu verwenden, also sich von "register-globals-on" abhängig zu machen
    ist nicht mehr zeitgemäß und unnötig.

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. als hidden wird das ja weiter gesendet nur das ganze also die abfrage bindet sich ganz oben auf der seite...

      und

      if(isset($_POST["eintragen"]))
              {

      ist weiter unten... und wenn ich das mit get mache und nicht einfach nur $uid; hin schreibe dann klappt das nicht sobald:

      if(isset($_POST["eintragen"]))
              {

      in aktion tritt!