Datenübertragung von bp-formular an cgi-script - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von Klaus S. (11 Beiträge) am Dienstag, 21.Mai.2002, 21:25.
    Datenübertragung von bp-formular an cgi-script

      Hallo,

      ich möchte über ein Formularfeld ein cgi-script ansprechen und dabei einen bestimmten Wert ($Objnr) aus der Datenbank übergeben.
      Formular-Tag:

      <form action="http://www.domain.de/cgi-bin/free.cgi" method="post">
                <input type="hidden" name="Objnr=" value="$Objnr">
                <input type="submit" name="Abschicken" value="online Bilder übertragen">
              </form>
      
      Das empfangende cgi-script lautet:

      if($ENV{'REQUEST_METHOD'} eq 'GET')
      {
        $eingabe = $ENV{'QUERY_STRING'};
      }
      # Übertragungsmethode POST
      else
      {
        read(STDIN, $eingabe, $ENV{'CONTENT_LENGTH'});
      }
      # Wertepaare trennen
      @paare = split(/&/, $eingabe);
      foreach $paar (@paare)
      {
         ($schluessel, $wert) = split(/=/, $paar);
         # Sonderzeichen ersetzen
         $wert =~ tr/+/ /;
         $wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",   hex($1))/eg;
         # Hash mit Daten erstellen
         $FORM{$schluessel} = $wert;
      }
      # HTML-Ausgabe vorbereiten
      
      print "Content-Type: text/html\n\n";
      # Ausgabe der Daten
      print "<html><body>";
      print "<h2>Originaldaten:</h2>";
      print "$eingabe<p>";
      print "<h2>Bearbeitete Daten:</h2>";
      while(@array=each(%FORM))
      {
        print "$array[0]: $array[1]<br>";
      }
      print "</body></html>";
      

      als Ergebnis erscheint:

      Originaldaten:
      Objnr%3D=05015&Abschicken=online+Bilder+%FCbertragen

      Bearbeitete Daten:
      Abschicken: online Bilder übertragen
      Objnr%3D: 05015

      Nun möchte ich aber nur den Wert von Objnr (hier=05015)separat ausgeben. Wie muß der letzte Bereich aus dem cgi-script aussehen

      {
        print "????????";
      }
      

      Ich kenne mich leider mit Perl nicht so gut aus. Das o.g. script habe ich mir aus einem Buch "geborgt".
      Ich hoffe, es gibt hier ein paar Perl-Experten, die mir weiterhelfen können.

      Gruß Klaus S.


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Klaus S. (11 Beiträge) am Dienstag, 21.Mai.2002, 21:25.
    Datenübertragung von bp-formular an cgi-script

      Hallo,

      ich möchte über ein Formularfeld ein cgi-script ansprechen und dabei einen bestimmten Wert ($Objnr) aus der Datenbank übergeben.
      Formular-Tag:

      <form action="http://www.domain.de/cgi-bin/free.cgi" method="post">
                <input type="hidden" name="Objnr=" value="$Objnr">
                <input type="submit" name="Abschicken" value="online Bilder übertragen">
              </form>
      
      Das empfangende cgi-script lautet:

      if($ENV{'REQUEST_METHOD'} eq 'GET')
      {
        $eingabe = $ENV{'QUERY_STRING'};
      }
      # Übertragungsmethode POST
      else
      {
        read(STDIN, $eingabe, $ENV{'CONTENT_LENGTH'});
      }
      # Wertepaare trennen
      @paare = split(/&/, $eingabe);
      foreach $paar (@paare)
      {
         ($schluessel, $wert) = split(/=/, $paar);
         # Sonderzeichen ersetzen
         $wert =~ tr/+/ /;
         $wert =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",   hex($1))/eg;
         # Hash mit Daten erstellen
         $FORM{$schluessel} = $wert;
      }
      # HTML-Ausgabe vorbereiten
      
      print "Content-Type: text/html\n\n";
      # Ausgabe der Daten
      print "<html><body>";
      print "<h2>Originaldaten:</h2>";
      print "$eingabe<p>";
      print "<h2>Bearbeitete Daten:</h2>";
      while(@array=each(%FORM))
      {
        print "$array[0]: $array[1]<br>";
      }
      print "</body></html>";
      

      als Ergebnis erscheint:

      Originaldaten:
      Objnr%3D=05015&Abschicken=online+Bilder+%FCbertragen

      Bearbeitete Daten:
      Abschicken: online Bilder übertragen
      Objnr%3D: 05015

      Nun möchte ich aber nur den Wert von Objnr (hier=05015)separat ausgeben. Wie muß der letzte Bereich aus dem cgi-script aussehen

      {
        print "????????";
      }
      

      Ich kenne mich leider mit Perl nicht so gut aus. Das o.g. script habe ich mir aus einem Buch "geborgt".
      Ich hoffe, es gibt hier ein paar Perl-Experten, die mir weiterhelfen können.

      Gruß Klaus S.

     Antworten

    Beitrag von FB (18 Beiträge) am Freitag, 24.Mai.2002, 20:21.
    Re: Datenübertragung von bp-formular an cgi-script

      Warum ein Arrayer füllen?

      Wenn ic das alles richtig interpretiere steht in
      $FORM{Objnr%3D} der wert oder?
      
      und wenn Du bei der Übergabe das = weglässt sollte es in
      $FORM{Objnr} stehen.

      Du kannst für die asugabe also die ganze while schleife weglassen wenn es Dir nur um die Objektnummer geht und folgendes schreiben:
      print "$FORM{Objnr}<br>";

      gruss FB

     Antworten


     
 Liste der Einträge von 47101 bis 47251:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.11s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!