Re: Formular - 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 micha (85 Beiträge) am Montag, 21.Juni.2004, 19:54.
    Re: Formular

      yep sander,

      genau das meine ich :-)...aber
      das mit dem sel habe ich aber leider nicht verstanden.

      Ich finde das so praktisch, weil ich im script garnicht wissen muss, welche Variablen ankommen. Schließlich lassen sich ja die keys in %_get abfragen.

      Das worum es mir schließlich geht ist folgendes.

      Selbstverständlich sollen die Feldinhalte im Formular übertragen werden.
      Natürlich gibt es auch noch andere Parameter, die übertragen werden müssen aber nicht von einer Formulareingabe herrühren. Hierfür wird normalerweise ein hidden-Feld verwendet. Ich möchte aber kein Hidden verwenden, sondern partout im action=-link die restlichen Parameter unterbringen.

      Bei method='post' werden diese aber nicht übertragen (zumindest kommen sie in %_get nicht an) und bei method='get' wird der Linkinhalt vom Formular überschrieben (IE6).

      Verstehst du? :-))

      vG micha


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von micha (85 Beiträge) am Freitag, 18.Juni.2004, 22:43.
    Formular

      Hi to all,

      Ich habe mal eine Frage bzgl. Rückgabe von Formularinhalten an ein Perl script.
      Laut Doku ist folgende Notation erforderlich:

      <form action="http://www.baseportal.de/cgi-bin/baseportal.pl?htx=/stef05/ausgabe&cmd=add" method=post enctype="multipart/form-data">
      <input type="hidden" name="cmd=" value="add">
      <input type="hidden" name="htx=" value="/stef05/ausgabe"> 
      

      Die Parameter werden also sowohl
      a) im Link von "action=" und
      b) als Werte in hidden Feldern angeben.

      Aus Sicht meines Perlcodes wäre es mir am liebsten, wenn es ausreichen würde, nur durch Notation nach a) die Parameter zu versenden.

      Warum müssen die Parameter 2x angegeben werden?
      Gibt es zum Thema irgendwo eine Info? Die Doku geht ja nicht sehr tief an dieser Stelle und Stefan Müntz hilft mir auch nicht so richtig weiter.

      vG micha

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Sonntag, 20.Juni.2004, 18:35.
    Re: Formular

      Also das ist eine recht 'alte' Geschichte aus der Anfangszeit von baseportal.
      So weit mir das bekannt ist gab es in den Anfängen (Jahr 2000) kräftige Probleme mit den verschiedenen Browsern der 4er-Generation (Netscape und Internet Explorer). Speziell bei der Übergabe der Formulare wurden die Parameter aus dem <form action=...> nicht zurückgesendet. Deshalb wurden sie zusätzlich als <input type="hidden"...> angegeben. Genaueres kann Dir Christoph erklären.

      Mittlerweile sind alle gängigen Browser ganz brav, aber um auf Nummer sicher zu gehen, solltest Du trotzdem weiterhin die hidden-Felder angeben.

      Wenn Dir das zu aufwendig ist, dann kannst Dich ja mit einigen undokumentireten (na ja, in den newfeatures der Beta sind sie ja schon dokumentiert gewesen ;))) Befehlen helfen:

      form();
      
      text();
      password();
      submit();
      

      Speziell der form()-Befehl ist recht angenehm, denn der erledigt die ganzen hidden-Felder für Dich :)))

      Kurzes Beispiel findest Du auf:

      http://baseportal.de/cgi-bin/baseportal.pl?htx=/_workshop/structure&ws=templates&Ebene=&id=3

      Ach ja, und sei vorsichtig mit den = := : und ~=, denn da kommen die Werte immer in einen anderen Eingangshash. Kurzinfo auf:

      http://baseportal.de/cgi-bin/baseportal.pl?htx=/_workshop/structure&ws=templates&Ebene=&id=2

      Grüße Andreas :-})

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 20.Juni.2004, 23:10.
    Re: Formular

      laut spezifikation werden bei method=post die get-parameter in der url (bei action=) nicht beachtet. einige browser sind da aber nicht konform und übernehmen bei fehlenden post-werten einfach die get-werte.
      Christoph hängt sie aber immer an, damit die url nicht so unpersönlich aussieht und man sie zb in favoriten speichern kann. ;-)

     Antworten

    Beitrag von Christoph Bergmann (8110 Beiträge) am Sonntag, 20.Juni.2004, 23:14.
    Re: Formular

      ...oder die Seite neu laden kann ohne POST-Werte oder man sie kopieren und in ein neues Browserfenster machen kann oder die Parameter ändern kann... ;-)

     Antworten

    Beitrag von micha (85 Beiträge) am Montag, 21.Juni.2004, 19:01.
    Re: Formular

      oder man den links in der nachbearbeitung nochne sid oder sonstwas anhängen kann.

      mannomann

      Drum würd ich ja lieber mit method='get' arbeiten. Aber dann kommen die Daten in in Perl ... @_get{varname} ... nich an. Oder mach ich was falsch?

      micha => geplättet :-))

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 21.Juni.2004, 19:29.
    Re: Formular

     Antworten

    Beitrag von micha (85 Beiträge) am Montag, 21.Juni.2004, 19:54.
    Re: Formular

      yep sander,

      genau das meine ich :-)...aber
      das mit dem sel habe ich aber leider nicht verstanden.

      Ich finde das so praktisch, weil ich im script garnicht wissen muss, welche Variablen ankommen. Schließlich lassen sich ja die keys in %_get abfragen.

      Das worum es mir schließlich geht ist folgendes.

      Selbstverständlich sollen die Feldinhalte im Formular übertragen werden.
      Natürlich gibt es auch noch andere Parameter, die übertragen werden müssen aber nicht von einer Formulareingabe herrühren. Hierfür wird normalerweise ein hidden-Feld verwendet. Ich möchte aber kein Hidden verwenden, sondern partout im action=-link die restlichen Parameter unterbringen.

      Bei method='post' werden diese aber nicht übertragen (zumindest kommen sie in %_get nicht an) und bei method='get' wird der Linkinhalt vom Formular überschrieben (IE6).

      Verstehst du? :-))

      vG micha

     Antworten

    Beitrag von Sander (8133 Beiträge) am Montag, 21.Juni.2004, 23:40.
    Re: Formular


      Bei method='post' werden diese aber nicht übertragen (zumindest kommen sie in %_get nicht an) und bei method='get' wird der Linkinhalt vom Formular überschrieben (IE6).

      Verstehst du? :-))

      nich wirklich...
      wieso keine hidden?
      ansonsten gäbe es noch die möglichkeit, mit js das action onsubmit zu manipulieren.
      Also wenn bei method=post get-werte übernommen werden, ist es eigentlich ein fehler im browser

     Antworten

    Beitrag von micha (85 Beiträge) am Dienstag, 22.Juni.2004, 21:52.
    Re: Formular

      doch doch sander,

      ich verstehe das schon.
      Vielen dank erst mal für deine Antwort.

      Java will ich im Moment mal vermeiden, um auszuloten, wie weit ich ohne komme.
      Ok bei method=get werden die Daten im Link überschrieben. Schade kann man aber nich ändern. Bleibt die Frage, wohin die Variablen aus dem ation-Link bei method=post hin verschwinden? :-)
      in den Umgebungsvariablen, in die Comandline,...?

      Um deine Frage zu beantworten, warum keine hidden:
      Ich hänge die Werte in %_get (naja nicht alle) automatisch an alle Links in meiner auszugebenden Seite an, nachdem ich diese generiert habe. Das mag auf den ersten Blick vielleicht nicht einleuchten, aber ich kann so dynamisch die Daten aus anderen unabhängigen Programmteilen mit übergeben, indem ich sie in %_get reinschreibe oder dort rauslösche. Außerdem brauche ich mich so bei der Formulargestaltung nicht so reinzuknien.

      Ich glaube es lohnt sich, wenn ich mal nach den Daten aus dem action-link nach method=post suche. Dürften wohl in den Umgebungsvariablen auftauchen.

      vG micha

     Antworten

    Beitrag von micha (85 Beiträge) am Samstag, 26.Juni.2004, 07:34.
    Re: Formular estut wie ich will

      Hallo Sander, Juri und CB,

      ich hatte einen Fehler gemacht.
      Die Formularinhalte kommen nur mit enctype="multipart/form-data" in @_get{...} an :O) Ich bekomme jetzt alle Daten auch ohne hidden.

      Thx nochmal @all für die nette Thread.

      micha

      Hier noch der Ausdruck mit dem ich an die Links in meiner Ausgabeseite die zu übertragenden Parameter anhänge.

      ${$html_out} =~ s/(\?htx=)((.+?)(\&.+?)\"|(?!.+?\&)()(.+?)\")/$1$htx$4$par\"/img; #modifiziert links	mit perlaufrufen
      

      $par ist der String in dem ich die Parameter nach dem Schema "&schluessel=wert" gesammelt habe.

     Antworten


     
 Liste der Einträge von 29701 bis 29851: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.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!