karinsch: variable und function

Hallo!

Wieso wird mir hier die Variable "upload" nicht in die function übernommen?

<?php

global $upload;
$upload = $_GET['upload'];

function printlink() {
?>
<p>
<?php
if ($upload == "alleine") {
?>
 <a href="#" onclick="self.close()">Fenster schließen</a>
<?php
} else {
?>
 <a href="#" onclick="opener.location.reload();setTimeout('self.close()',500)">Fenster schließen</a>
<?php
}

Vielen Dank im Voraus!
LG Karin!

  1. Hallo,

    Wieso wird mir hier die Variable "upload" nicht in die function übernommen?

    Das

    global $upload;

    gehoert _in_ die Funktion hinein:

    function printlink()
     {
      global $upload;
      /* Rest */
     }

    Hingegen kannst Du auch in der Funktion jederzeit und
    ohne weitere Verrenkungen auf
    $_GET['upload']
    zugreifen, denn diese Variable ist eine "Superglobal". Ein
    global $_GET;
    ist also nicht notwendig.

    Es reicht folgendes:

    if ($_GET['upload'] == "alleine")
     {  }

    Bevor Du die Variable verwendest, solltest Du
    uebrigens pruefen, ob sie ueberhaupt gesetzt ist:

    if ((isset($_GET['upload'])) AND ($_GET['upload']=="alleine"))
     {  }

    ---

    Zum scheusslichen restlichen Zeugs, was Du da planst
    (<a href="#"> und JavaScript-Gebastel) auessere ich
    mich lieber mal nicht...

    Gruesse,

    Thomas

    1. Ich dank euch!!

      LG Karin!

  2. Hallo karinsch,

    Wieso wird mir hier die Variable "upload" nicht in die function übernommen?

    weil das

    global $upload;

    innerhalb der Funktion hingehört, und nicht außerhalb. Aber warum verwendest du bei der if-Abfrage nicht gleich $_GET['upload']?

    Grüße aus Nürnberg
    Tobias

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