# Everything from URL

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11249

    #1

    # Everything from URL

    Hi alle und Prof.Mobilux ,

    ich habe von Michael jetzt ja schon öfter (immer) was vom Perl-Code übernommen, nämlich die Header- und Footer.

    Darin ist immer ein Bereich #Parameter:

    Code:
    # Everything from URL
    foreach (split(/&/,$ENV{'QUERY_STRING'})){
    ($namef,$value) = split(/=/,$_,2);
    $namef =~ tr/+/ /;
    $namef =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $value =~ tr/+/ /;
    $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
    $query{$namef} = $value;
    }
    
    # And this one we really want to use
    $do = $query{'do'};
    $db = $query{'db'};
    
    # Filter
    quotemeta($query{'lang'});
    quotemeta($do);
    quotemeta($db);
    
    $saveformdata =~ tr/0-1//cd;
    $saveformdata = substr($saveformdata,0,1);
    Wofür ist das gut, bzw. wofür brauche ich das in "meinem" Code? Wie kann ich das nutzen, was da passiert?

    lg, Christian
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine
  • svethi
    Lebende Foren Legende
    • 25.08.2015
    • 6342

    #2
    Damit packst Du alles was im Querystring in das Array $query. Wenn Du das nicht brauchst, kannste das natürlich weglassen.
    Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

    Kommentar

    • Christian Fenzl
      Lebende Foren Legende
      • 31.08.2015
      • 11249

      #3
      Keine Ahnung, warum das dann da ist, weil auch Michael sendet alle Form-Daten per POST...
      Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

      Kommentar

      • svethi
        Lebende Foren Legende
        • 25.08.2015
        • 6342

        #4
        Kann ich Dir sagen. Der User kann nichts per Post hinzufügen. Wenn Du manuell die Sprache wechseln willst kannst Du das in der URL erledigen
        Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

        Kommentar

        • Prof.Mobilux
          Supermoderator
          • 25.08.2015
          • 4988

          #5
          Ehrlich gesagt ist das meist drin aus "historischen" Gründen... ich nehme meist irgendein altes Script als Vorlage und da steht das dann halt einfach drin... Manchmal verwende ich eine Mischung aus POST und GET oder nutze auch nur GET, z. B. bei Scripten, die vom Miniserver aus aufgerufen werden.

          Beim addscript.cgi vom Statistikplugin habe ich es so gebaut, dass man alle Parameter entweder per POST oder per GET übergeben kann - je nachdem, ob man per Formular oder per Scripting-Schnittstelle die Daten übergibt.
          🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


          LoxBerry - Beyond the Limits

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11249

            #6
            Ich übernehme den "historischen Code" auch, zwecks des Denkmalschutzes :-)
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • Prof.Mobilux
              Supermoderator
              • 25.08.2015
              • 4988

              #7
              Der ist allerdings schützenswert :-) ich denke der Code dürfte so an die 10 Jahre auf dem Buckel haben... muss allerdings zugeben, dass ich den auch mal aus irgendeinem anderen, fremden Projekt damals "geklaut" habe ;-)
              🇺🇦 Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine


              LoxBerry - Beyond the Limits

              Kommentar

              • svethi
                Lebende Foren Legende
                • 25.08.2015
                • 6342

                #8
                10 Jahre alter Code? Das der noch läuft :-)
                Aber ich mache das auch immer so. Ich nehme mir funktionierenden Code und bastel dann wochenlang eine funktionierende Zeile per try&error hinzu lach
                Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

                Kommentar


                • tholle
                  tholle kommentierte
                  Kommentar bearbeiten
                  aber nicht vergessen, den dann auch wieder zur Verfuegung zu stellen..

                • svethi
                  svethi kommentierte
                  Kommentar bearbeiten
                  Das ist Blut vom vielen Try&Error tippen dran, den kann man doch nicht veröffentlichen :-)

                • tholle
                  tholle kommentierte
                  Kommentar bearbeiten
              Lädt...