Barbara: variable vom cgi-skript an html

Guten Morgen!

Ich habe ein CGI Skript in Perl geschrieben, indem von einem html-dokument ein Wert an das skript übergeben wird (ein name aus einer db).
Als ergebnis erhält man alle möglichen informationen zu diesem namen.
Unter anderem erhält man einen weiteren namen, mit dem genau die selbe Suche starten kann. Neben diesem Namen gibt es ein Link um zur Detailansicht dieses NAmen zu gelangen (also um das CGI-Skript noch einmal zu starten).

Nun meine Frage:
wie kann ich diesen zweiten namen an mein index.html übergeben, so dass dem erneuten Durchlauf des Skriptes dieser Name als Variable übergeben wird?

  1. Wünsche Dir auch einen guten Morgen!

    Wenn Du mit cgi.pm arbeitest, kannst Du die Parameter ganz einfach mit $q->param('name'); auslesen ($q ist eine CGI-Instanz). Dabei spielt es keine Rolle, ob die Param per GET oder POST-Methode übertragen wurden, das CGI-Modul regelt das automatisch.

    wie kann ich diesen zweiten namen an mein index.html übergeben

    Genau wie die erste Variable, z.B. index.html?var1=foo&var2=bar

    freundlichen Gruß
    Danny

    --
    Selfcode: fo:) br:& n4:& ie:% mo:) va:| de:] zu:) fl:| ss:) ls:& ls:& js:|
    Motto:    OpenSource - Das Wissen der Menschheit gehört der Welt!
    1. Erst einmal herzlichen Dank,

      aber ich denke, ich habe mich wohl etwas falsch ausgedrückt, denn so hab ich es ja auch beim erstenmal gemacht. Aber jetzt habe ich quasi den umgekehrten Fall. Die neue Variable muss ersteinmal an die html-Datei übergeben werden:

      Das ist der Aufruf:

      push @ausgabe, "<td bgcolor = "#FFFFCC">$pflanzen_name   <A href = "http://ori2.zhv.basf-ag.de/fusarium/kalm/trafo.cgi">D</A></td>";

      und so lese ich am anfang des skripts die variable aus:

      $name = $q->param("name");

      wie schaffe ich es nun, das $name = $pflanzen_name ist, nachdem auf der webpage "D" ausgewählt wurde.

      Lieber Gruss,
      Barbara

      1. Was ich nicht ganz verstehe ich Deine Bezeichnung "HTML"-Datei. Sind das denn keine CGI-Scripte, die als Ausgabe HTML erzeugen?

        Hast Du schon schon versucht, den Planzen-Namen einfach als URL-Param anzugeben. d.h.

        ... "http://ori2.zhv.basf-ag.de/fusarium/kalm/trafo.cgi?name=$pflanzen_name" ... ?

        freundlichen Gruß
        Danny

        --
        Selfcode: fo:) br:& n4:& ie:% mo:) va:| de:] zu:) fl:| ss:) ls:& ls:& js:|
        Motto:    OpenSource - Das Wissen der Menschheit gehört der Welt!
        1. Was ich nicht ganz verstehe ich Deine Bezeichnung "HTML"-Datei. Sind das denn keine CGI-Scripte, die als Ausgabe HTML erzeugen?

          Doch natürlich:
          Aber: als erste habe ich eine Seite mit dem Namen "index.html". Dort wird ein Name eingegeben. Beim abschicken dieses Namens, wird das CGI-Skript gestartet, welches die Ausgabe de Informationen erzeugt.
          Wenn also nun die besagte Detailansicht aufgerufen wird, soll das gleiche wieder passieren. Nur das dern name nicht in das "input-Feld" eingetragen wird sondern der pflanzen-name direkt aus dem cgi-skript genommen wird. die neue detail-seite soll also auch gar nicht sichtbar sein.

          Hast Du schon schon versucht, den Planzen-Namen einfach als URL-Param anzugeben. d.h.

          ... "http://ori2.zhv.basf-ag.de/fusarium/kalm/trafo.cgi?name=$pflanzen_name" ... ?

          So, wie du es gesgt hast kann ich auch den pflanzen_name übergeben,

          (push @ausgabe, "<td bgcolor = "#FFFFCC">$pflanzen_name   <A href = "detail.html?name=$pflanzen_name">D</A></td>";)

          nur wie schaffe ich es jetzt, dass name wieder name ist und mit $name = $q->param("name"); wieder ausgelesen werden kann.

          Hier ist mal  meine detail.html:

          <html>

          <head>
          <meta http-equiv="Content-Type"
          content="text/html; charset=iso-8859-1">
          <meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
          <title>Search Clones by RXAGap</title>
          <base href="http://ori2.zhv.basf-ag.de/fusarium/kalm/">
          </head>

          <body

          <form action="http://ori2.zhv.basf-ag.de/fusarium/kalm/trafo.cgi"  method="POST">

          ###########Hier war in der index-html der input###############
             </form>

          <p>&nbsp;</p>

          </body>
          </html>

          Also, wahrscheinlich ist das jetzt nur noch ein ganz kleines Problem. Ich hoffe, du kannst mir helfen.

          Lieber Gruss, Barbara

          1. Vielleicht stehe ich jetzt auf dem Schlauch, aber Du kannst doch einfach auch beide Namen übergeben u. wieder auslesen, d.h. Name u. Pflanzenname!?

            ... ?name=$name&planzen_name=$pflanzen_name ...

            im CGI:

            my $name = $q->param('name');
            my $planzen_name = $q->param('planzen_name');

          2. Hey DAnny,

            herzlichen Dank, ich hätte erst mal richtig nachdenken sollen. Das ganze Funktioniert jetzt, ich brauche ja gar keine html-datei mehr dazwischen, ich übergebe den pflanzen-namen einfach in der url, wie du gesagt hast, ans cgi-skript!

            Schönen Tag noch,

            Barbara

            1. Freut mich, das es klappt!
              Wünsche Dir ebenfalls noch einen schönen Tag, ciao!