$_GET wird nicht gefüllt

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • $_GET wird nicht gefüllt

    Hallo zusammen, ich will per GET-Variable einen Vorgang verarbeiten, aber irgendwie klappt des grad gar ned... entweder ich überseh da was, oder irgendwo is noch der haken drin.

    Meine Link wird folgendermaßen angezeigt wenn ich mit der Maus drüberfahre: ..../datei123.text?do=del
    Ich nutze in etwa folgendes Skript (vereinfacht dargestellt. Kann mir jemand sagen was da passiert. Warum wird die $_GET-Variable nicht gesetzt ??

    Quellcode

    1. if ((isset($_GET['do'])) and ($_GET['do'] == 'del'))
    2. {
    3. //hier soll er eigentlich reinspringen
    4. }else
    5. {
    6. ..../datei123.text?do=del
    7. }

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von robert712 ()

  • Soweit ich weiß, jagt der Apache per default nur *.php und je nach Umständen auch *.html/*.htm Dateien durch den PHP-Parser. Deine Datei scheint aber eine *.text Datei zu sein.

    Dann mal etwas anderes zum Verständnis?
    Ist der Quellcode, den zu geschrieben hast in einer anderen Datei? Oder kommt der Quellcode aus der besagten *.text-Datei?
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.
  • Hä, was wie? TXT?

    Nene, also es wird im Browser per opendir(), etc... eine Datei angezeigt, bzw. der dateiname, wenn ich auf diesen Link klicke öffnet sich die Datei (Dateityp: beliebig: txt, html, zip, rar, jpg, gif, ...) die endung *.txt wurde hier nur exemplarisch gewählt.
    Nun hab ich mir gedacht, ich will mit der Datei über einen weiteren Link etwas ausführen. Daher brauch ich ja eigentlich an die Datei etwas anhängen, in meinem Fall ?do=del und schon kann ich die Verarbeitung der Datei über die GET-Variable abfragen...

    Das ist so im Groben mein Aufbau (vereinfacht für den Thread):

    Quellcode

    1. if ((isset($_GET['do'])) and ($_GET['do'] == 'del'))
    2. {
    3. //Weiterverarbeitung
    4. }else
    5. {
    6. echo "<a href=\"".$dir.$file."?do=del\" class=\"file\" target=\"_blank\"><img src=\"xxx/del.jpg\" border=\0\"></a>\n";
    7. }


    Moderator: Bitte keine Direktzitate!
  • robert712 schrieb:

    Nun hab ich mir gedacht, ich will mit der Datei über einen weiteren Link etwas ausführen. Daher brauch ich ja eigentlich an die Datei etwas anhängen, in meinem Fall ?do=del und schon kann ich die Verarbeitung der Datei über die GET-Variable abfragen...


    Ja, aber um eine GET-Variable auslesen zu können, muss sie durch den PHP-Parser gelesen werden.
    Du kannst nicht, foo.bar?zahl=123 als link schreiben und dann die GET-Variable auslesen.
    Es ist wichtig, dass du, wenn du die GET Variablen auslesen willst, eine Dateiendung nimmst, die mit dem PHP-Parser geparst wird. *.php wäre hier der kleinste gemeinsame Nenner. Dann kannst du in aller Ruhe die GET-Variable(n) auslesen und über die Weiterverarbeitung bestimmen.
    Als GET-Variable könntest du dann den ?file=dateiname&do=del nehmen und mit PHP die übergebenen Variablen auslesen.
    Wichtig ist, dass du alle Aktionen in einer PHP Datei machst.
    Z. Bsp.:
    foo.php:

    Quellcode

    1. if ((isset($_GET['do'])) and ($_GET['do'] == 'del'))
    2. {
    3. //Löschen der Datei deiner Wahl
    4. }else
    5. {
    6. echo "<a href=\"foo.php?do=del\" class=\"file\" target=\"_blank\"><img src=\"xxx/del.jpg\" border=\0\"></a>\n";
    7. }

    Also du brauchst mind. eine zusätzliche PHP-Datei, die du über den Browser aufrufst. Wenn die do=del ist, dann kannst du deine Datei löschen. Allerdings wird dies alles im Skript geschrieben.
    Open Source --> Programmieren aus Leidenschaft :!:

    Ich stehe weder für privaten Support per PM noch über einen IM zur Verfügung. Danke.