Daniel83: Parameterübergabe im Browser

Hi zusammen,

ich hab folgendes Problem:

Ich hab ein Perl-Script geschrieben, dem ich Parameter über dem Browser mitgeben möchte. In der Regel ist das ja so, das man xxx.pl?foo aufruft. das klappt auch. Aber wie kann ich jetzt zwei Parameter übergeben ? Ich hab das mit xxx.pl?foo&bar versucht, das klappt aber nicht. Auch hab ich versucht den href String so zusammenzubauen xxx.pl?foo bar. So wie es ja bei Kommandozeilenparametern funktioniert.
Wenn ich das aber so mache, taucht der zweite parameter aber gar nicht erst auf. Liegt wahrscheinlich am Leerzeichen.

Kann mir jemand helfen ?

Gruß Daniel

  1. Hi,

    Ich hab das mit xxx.pl?foo&bar versucht, das klappt aber nicht.

    was bedeutet "klappt nicht"? Der Querystring enthält nun zwei wertfreie Parameter "foo" und "bar". Wenn Du das nicht so siehst, dann machst Du etwas falsch, das sich Deinem Posting nicht entnehmen lässt.

    Auch hab ich versucht den href String so zusammenzubauen xxx.pl?foo bar.

    Das wäre als URI ungültig. Innerhalb eines href-Attributs musst Du übrigens selbstverständlich die HTML-spezifischen Regeln beachten, nach denen ein "&" ein Sonderzeichen ist, welches ggf. zu kodieren ist.

    So wie es ja bei Kommandozeilenparametern funktioniert.

    Wenn Du Dich in einem Kommandozeilen-Umfeld befindest, ist das relevant, andernfalls nicht.

    Kann mir jemand helfen ?

    Dazu müsstest Du Dein Problem schon so beschreiben, dass man mehr versteht als nur, dass Du es hast.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Also ich versuch das jetz nochmal zu beschreiben..

      Ich hab ein Perl-Script, welchem ich zwei Parameter übergeben möchte.
      Wenn ich das im Format xxx.pl?foo&bar mache, bekomme ich einen Internal Server Error.
      Lasse ich den Teil mit &bar weg, dann funktioniert das Script wieder, nur halt ohne den zweiten Parameter, den ich aber brauche.

      1. Tag Daniel83.

        Ich hab ein Perl-Script, welchem ich zwei Parameter übergeben möchte.
        Wenn ich das im Format xxx.pl?foo&bar mache, bekomme ich einen Internal Server Error.

        Was ist im Error-Log als Grund für den Internal Server Error angegeben?

        Siechfred

        1. Tag Daniel83.

          Ich hab ein Perl-Script, welchem ich zwei Parameter übergeben möchte.
          Wenn ich das im Format xxx.pl?foo&bar mache, bekomme ich einen Internal Server Error.

          Was ist im Error-Log als Grund für den Internal Server Error angegeben?

          Siechfred

          Also der Errolog eintrag sieht folgendermassen aus:

          Verzeichnis 10028&1 nicht gefunden at
          /usr/local/httpd/cgi-bin/make_wkn_stat_ov.pl line 362.
          [Fri Jun  3 10:19:30 2005] [error] [client <IP>] Premature end of script headers: /usr/local/httpd/cgi-bin/make_wkn_stat_ov.pl

          Es sieht so aus, als würde er die komplette Zeile als ein Kommentar interpretieren. Hmm.. ich muss mich wohl mal in das CGI Modul einarbeiten..

          1. Hi,

            Verzeichnis 10028&1 nicht gefunden at
            /usr/local/httpd/cgi-bin/make_wkn_stat_ov.pl line 362.

            und was steht im Bereich dieser Zeile? Woher kommen die dort verwendeten Daten? Bitte lasse Dir nicht jeden Wurm einzeln aus der Nase ziehen. Wenn Du willst, dass wir Dir helfen können, musst Du uns helfen.

            Cheatah

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
  2. Wenn ich das aber so mache, taucht der zweite parameter aber gar nicht erst auf. Liegt wahrscheinlich am Leerzeichen.

    Kann mir jemand helfen ?

    Ja, use CGI;

    diese Modul kümmert sich schonmal um das einlesen der Parameter (es kann darüber hinaus ncoh viel viel mehr)

    und bietet dir auch eine Funktion an, um deine Parameter zu kodieren

    Struppi.