Holger: Totaler Anfänger sucht Hilfe ! QUERY_STRING ?

Hallo zusammen,

nachdem ich eigentlich alles aus dem Archiv durgelesen habe,
und immer noch nicht schlauer bin, wende ich mich jetzt ins
Forum. Ich weiß, daß mein Problem des öfteren durchgemacht
wurde und hoffe, daß sich einer erbarmt und mir daß
ausführlicher erklären kann.

Ich möchte an ein Script mehrere Variablen übergeben.
Das stelle ich mir so vor:

http://www.domain.net/cgi/test.cgi?test1&test2&test3

Danch soll in meine Script die Variablen
$test1 mit der Variable test1,
$test2.. .. test2
$test3.. .. test3
stehen.

Ausführung QUERY_STRING ist klar.
Aber das Spliten total dagegen unklar.
Bitte keine Dokumentation. Nur IDIOTENSICHER BIIIIIIITTTTTEEEE !!!

Danke Holger

  1. Hi Holger,

    http://www.domain.net/cgi/test.cgi?test1&test2&test3

    Also: eigentlich übergibt man Werte in folgender Form:

    http://www.domain.net/cgi/test.cgi?t1=test1&t2=test2&t3=test3

    und dann kannst du mit dem CGI-Modul weiter verarbeiten.

    z.B.

    use CGI;    
    $th = new CGI;
    $test1=$th->param("t1");
    $test2=$th->param("t2");

    usw.

    Bye
    Timothy

  2. Wie kann ich feststellen ob das Modul CGI.pm installiert ist,
    damit ich ihn Benützen kann ? Hab Fehler 500 !
    -->failed to open log file fopen: Permission denied

    Andere Möglichkeit gibt es nicht ?

    Ich dachte da so an "split".

    Danke trotzdem mal für die schnelle Antwort.

    Gruß Holger

    1. hi!

      Wie kann ich feststellen ob das Modul CGI.pm installiert ist,

      Auf der Shell:
        perl -MCGI -e '1;' && echo "CGI.pm installiert" echo "CGI.pm nicht installiert"

      Andere Möglichkeit gibt es nicht ?
      Ich dachte da so an "split".

      <img src="/images/04.gif" alt="">
      <../../tgcm.htm#a1>
      <../../sfausles/tsfa_teg.htm#a1>

      bye, Frank!

  3. Hi,

    [Wer sich ueber diesen reply wundert, mag bitte nach unten Scrollen, er gehört hier wirklich hin]

    Ein wirkliches Buch "CGI" oder "PERL" für Anfänger, indem wirklich jeder Befehl evt mit Beispielen versehen
    ist. Das natürlich in Deutsch ist, weil ich der Englischen Sprache Leider nicht mächtig bin, was kannst Du mir
    da Empfehlen ?

    Also wenn ich ein Befehl nachschlagen muß, und es auch in deutsch haben
    will, dann gibt es nur ein Buch, nämlich das Buch "Programmieren mit Perl"
    von O'reilly.
    Ich hab letztens erst ne Buchseite gemacht, da hab ich da auch
    einen Link für die deutsche Version angegeben:
    http://www.xwolf.com/artikel/buchtips.shtml

    Das zweite:

    Eine ganz einfache übergabe in ein Script, aus einer HTML Seite herraus.
    evt. (http://www.domain/cgi/test.pl?a=a00001&b=b020)

    Und im Script dann

    $test1  --->  die variable a00001
    $test2  --->  die variable b020 stehen.

    wie macht man das ohne "use CGI" ?
    evt. splitten ???

    QUatschneinetwasvielleicht.

    In der CGI-Schnittstelle ist definiert das die Variablen im QUERY-STRING
    der Environmentvariablen bzw. in STDIN  gespeichert wird.
    Diese Variable muss man analysieren (ja, auch splitten), um dann
    auf die einzelnen Werte zu kommen.

    In Perl sieht das (auch in den Untiefen von CGI.pm) im
    wesentlichen so aus:

    if ($ENV{'REQUEST_METHOD'} eq "GET") {
        $buffer = $ENV{'QUERY_STRING'};
    } else {
        read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
    }
    @nvpairs = split(/&/,$buffer);
    foreach $pair (@nvpairs) {
      ($name, $value) = split(/=/, $pair);
      $value =~ tr/+/ /;
      $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
      $in{$name} = $value;
    }

    Nur wie ?

    Hast du schonmal mein Tutorial dazu gelesen?
    Da steht das drin..:
    http://cgi.xwolf.com/faq/cgitutor.shtml, genauer:
    http://cgi.xwolf.com/faq/cgitutor2.shtml

    Bitte keine verweiße auch nicht unbdingt ein Funktionstüchtiges Script. NEIN.
    Einfach nur verständlich erklärt. Ich bin TOTALER Anfänger, und wenn man mich Fragt ob ich CGI.pm installiert habe Verstehe ich gar nichts.

    Ja, Das CGI-Modul ist zwar fast eine eierlegende Wollmilchsau, aber zum
    Lernen und zum Verstehen taugt das nichts.
    Leider sagt einen jeder 2. Heini auf eine CGI-Frage sowas wie "use CGI"
    und man soll dann das DIng benutzen, auch wenn man danach keine Ahnung
    hat, was eigentlich passiert...(und ob man das Monster wirklich brauchte).

    Also, ich DANKE Dir jetzt schon zu Deinem Beitrag, wenn Du willst mußt Du mir auch gar nicht hier Antworten mir persönlich wäre es Lieber wenn Du auf
    http://www.teamone.de/selfaktuell/forum/messages/80713.html Antworten würdest, dann hätten andere vielleicht auch was daran.

    Ups, zu spät gesehen :=)
    Nun, ich poste es dann auch mal auf dem Forem....Vielleicht schlägt mir Antje dafür den Kopf ab....

    Ciao,
      Wolfgang