Chris Weber: Wert mit Link uebergeben

Hallo,

ich habe folgendes Script erstellt:

$daten = <STDIN>;
print "Content-type: text/html\n\n";
print '<html>';
print '<head>';
print '<title>Danke</title>';
print '</head>';
print '<body>';
print '<hr>';
print 'Danke';
print '<br><br>';
print "$daten\n";
print '<hr>';
print '</body>';
print '</html>';

Das Script liest die Daten aus einem Texteingabefeld und gibt sie dann auf einer neuen HTML-Seite wiedeer aus.  Ich haette das ganze aber gerne ohne Formular, d.h. kann man einen Wert der von Script gelesen werden kann z.B. auch mit einem Link uebergeben?  Wenn ja, wie ?

Chris

  1. Hi,

    ich habe folgendes Script erstellt:

    $daten = <STDIN>;
    print "Content-type: text/html\n\n";

    [...]

    print 'Danke';
    print "$daten\n";

    Das Script liest die Daten aus einem Texteingabefeld und gibt sie dann auf einer neuen HTML-Seite wiedeer aus.  Ich haette das ganze aber gerne ohne Formular, d.h. kann man einen Wert der von Script gelesen werden kann z.B. auch mit einem Link uebergeben?  Wenn ja, wie ?

    STDIN ist in der Tat nur für POST-Operationen, ein Link wird aber mit GET übermittelt. Der Query-String (also das, was Du suchst) steht dabei in $ENV{'QUERY_STRING'} ;-)

    Besser ist es aber üblicherweise, die Parameter "richtig" auszuwerten, zumindest wenn mehr als einer übergeben werden kann. Das geht ideal so:

    use CGI;
    $query = new CGI;
    print $query->param("name");

    Bei ".../script.pl?name=wert" lautete die Ausgabe dann "wert". Das funktioniert mit GET und POST, ändert alle Sonderzeichen zurück, splittet korrekt (trennt also die einzelnen Parameter) und kommt sogar mit multiple-select-Boxen klar (@array = $query->param("name");).

    Cheatah

    1. Hallo Cheatah,

      erst mal vielen Dank fuer den Tip, aber wie in etwa muss das passende HTML-Dokument aussehen, d.h. muss ich den Link in ein Formular packen ?

      Danke

      1. Hi,

        erst mal vielen Dank fuer den Tip, aber wie in etwa muss das passende HTML-Dokument aussehen, d.h. muss ich den Link in ein Formular packen ?

        nein, Parameter kannst Du in folgender Art und Weise an einen Link anfügen:

        <a href = "http://domain.de/pfad/zur/seite.pl ? name=wert & name=wert & name=wert & name=wert & ...">

        Ohne Leerzeichen, die dienen hier zur Verdeutlichung. Also zunächst mit "?" sagen, daß jetzt Parameter kommen, und dann "name=wert"-Paare mit "&" getrennt hintereinander.

        Cheatah