Re: @ Andreas Jurenda oder Wissende: Please help! - 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 Jurenda (305 Beiträge) am Freitag, 25.Januar.2002, 15:09.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallo Phixxi!

      Sag mal, was läuft da?

      Ich habe mich mal über Dein METHOD=GET gewundert.
      Das ist nämlich ein Punkt, den ich selber noch nicht durchschaut habe. Was ist der Unterschied von GET und POST seitens des Browsers und seitens baseportal?

      Also hab ich in der erweiterten Suche zum Forum :-) nach method=get gesucht. Dabei habe ich zwei sehr interessante Links gefunden:

      1) Diskussion unserer Wissenden über GET:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=3016

      2) Antwort einer Frage von Volle mit ähnlichem Templateinhalt von __Dir__ und der Antwort: Nimm METHOD=POST
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=4171

      Frage: Phixxi=Volle oder arbeitet ihr für den gleichen Kunden oder ist das ein Beispiel aus der Bib?

      Nun zu den Fakten: Ich würde hier METHOD=POST benutzen. Damit kenne ich mich mittlerweile recht gut aus, auch wenn noch einige Details (speziel wegen %_cgi) fehlen ;-)


      Punkt 1) Die Dokumentation

      Sander hat im April in der Doku etwas erweitert, und ich hab dann die vergessenen Zeichen reklamiert :-)
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=98
      Leider erklärt dieses Kapitel nicht die ganze Geschichte und schon gar nicht vollständig :-(
      Die Folge davon ist, das es immer wieder Probleme gibt!

      Mal schaun ob ich das mal hinkriege.


      Punkt 2) Das HTML-Tag <form> in baseportal

      Für die hier beschriebene Variante brauchst Du ein METHOD=POST
      Im ACTION=... steht der Link, der durch Ausführen des Formulars angesprungen wird. Hier gibt es leider einige Browser, die Mist bauen, weshalb es notwendig ist, daß __alle__ Parameter, die Du in den Link gibts (z.B. Deine fixe Einstellungen) zusätzlich als HIDDEN mit einem Istgleich (=) überträgst.
      ENCTYPE="multipart/form-data" muß so sein (HTTP-Protokoll). z.B.:

      <FORM ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/name/template" METHOD=POST ENCTYPE="multipart/form-data">
      


      Punkt 3) Die Hidden-Felder

      Alle Parameter, die Du in den ACTION=-Url reinstellst, müssen mit einem = versehen einzeln als HIDDEN übertragen werden. z.B:

      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/name/template">
      


      Punkt 4) Die Formular-Felder

      Das allgemeine Wissen über Formularfelder (setze ich hier voraus) ist für baseportal leider zu wenig. Alle Daten, die per Formularfeld übergeben werden, werden servereingangsseitig speziell behandelt. Äußerst entscheidend ist dabe der NAME eines Formularfeldes. Wenn die hier abschließenden Symbole des Namens nicht richtig sind, gibts Probleme! z.B.:

      <INPUT TYPE="TEXT" NAME="name:=" VALUE="" SIZE=10>
      

      Das obige Beispiel stellt ein allgemeines Formular-Eingabefeld dar. Entscheidend hierbei ist das :=

      Genaueres (na ja ;-) findest Du in der Dokumentation im folgenden Link ganz unten:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=61

      Verifizierte Fakten sind, daß bei diesen Istgleichs folgendes passiert (bei METHOD=POST):
      = dieser Parameter-Typ findet sich in %_get wieder
      := dieser Parameter-Typ findet sich in %_put wieder
      == dieser Parameter-Typ findet sich in %_sel wieder

      Parameter, die im Url mit = angegeben werden stehen ebenfalls in %_get
      Parameter, die im Url mit == angegeben werden stehen ebenfalls in %_sel

      Alle Parameter, die sich in %_get wiederfinden sind außerdem als einfache Scalar-Variable ansprechbar. Zum Beispiel ist unser htx= (steht im Url und im HIDDEN) steht in unserem Template als $htx zur Verfügung!

      Zu guter Letzt gibts da neben dem == noch eine Menge mehr an Vergleichsoperatoren, die Du in der Dokumentation findest unter:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=50

      Und noch etwas:
      Die Information in %_sel ist leider sehr unvollständig!
      Deshalb gibt es neben dem %_sel auch noch ein $_sel und ein @_sel.

      Beispiel:

      <INPUT TYPE="TEXT" NAME="name1=" VALUE="" SIZE=10>
      <INPUT TYPE="TEXT" NAME="name2:=" VALUE="" SIZE=10>
      <INPUT TYPE="TEXT" NAME="name3==" VALUE="" SIZE=10>
      

      Wenn jetzt der User der Reihe nach in die Felder die Worte "Ich" "bin" "gut" (ups, eingebildet!) einträgt und an unser Template abschickt, dann ist dies identisch mit folgendem Perlcode:

      <perl>
      $_get{name1}="Ich";
      $name1="Ich";
      $_put{name2}="bin";
      $_sel{name3}="gut";
      $_sel="name3==gut";
      $_sel[0]="name3";
      $_sel[1]="==";
      $_sel[2]="gut";
      </perl>
      


      Punkt 5) Die verschiedenen System-Hashes

      Ok, aber was ist was und was passiert dann?

      %_get:

      Dies ist der allgemeine "Parameter"-Hash.
      In der Regel befinden sich alle als Parameter übergebene Werte (in ACTION= als Url oder Datenbankabfrage). Wohlgemerkt Parameter und keine Abfragen.

      Beispiel: htx=

      Wenn Du zum Beispiel ein get "Id==0", "Datenbank"; ausführst, dann stehen alle Deine Daten des ersten Datensatzes in diesem Hash.
      Abrufen kannst Du dann Deine Daten mit $_get{feldname} und natürlich auch mit $feldname.

      %_put:

      Alle Dateneingaben werden normalerweise über Formularfelder übertragen, und stehen in diesem Hash. Zum Beispiel erzeugt baseportal in einem <do action=all> (bzw. do_all;) bei "Neu" ein Formular, wo bei allen Formular-Feldname ein := hinten dran hängt. Nach Absenden dieses Formulars befinden sich dann alle Eingaben in diesem Hash.
      Mit put %_put, "Datenbank"; wird dann dieser Datensatz an die Datenbank angehängt.
      Bei "Ändern" schauts so ähnlich aus und es erfolgt ein mod "Id==$Id", %_put, "Datenbank";

      %_sel:

      Allgemein steht in diesem alles, was mit einer Abfrage zu tun hat. Aber das ist etwas komplizierter!

      Die Elemente dieses Hashes haben gewisse Lücken, denn es befinden sich hier nur die beiden Seiten eines Vergleiches.

      Beispiel1: name==Meier

      Hier enthält der Hash nur dieses eine Element:
      $_sel{name}="Meier";
      

      Beispiel2: name~=Meier

      Ups, da gibts ebenfalls nur dieses eine Element:
      $_sel{name}="Meier";
      

      Das ist natürlich zu wenig.

      Somit gibts da, wie oben schon erwähnt, 2 weitere Variablen, nämlich $_sel und @_sel.

      In $_sel steht der gesamte Abfrageausdruck.

      Beispiel: name~=Meier

      Hier steht also in $_sel:
      $_sel="name~=Meier";
      

      Das Wichtigste bezüglich Abfragen ist jedoch unsere Liste @_sel, denn nur diese hat Auswirkungen.

      Beispiel: name~=Meier

      Hier steht also in @_sel:
      $_sel[0]="name";
      $_sel[1]="~=";
      $_sel[2]="Meier";
      

      __Nur__ Änderngen an @_sel haben Auswirkungen auf ein nachfolgendes <do action=all> oder do_all;

      ACHTUNG:
      In dem gerade Beschriebenen sind einige nicht dokumentierte Abläufe und einige nicht dokumentierte Variablen enthalten.
      Speziell die Variablen können sich ohne Vorwarnung __ändern__!
      Das sind:
      1) $_sel
      2) @_sel
      3) Auswirkungen von Änderungen an @_sel

      So, das war jetzt genug an bp-Theorie.

      Das dahinterstehende Konzept von CHRISTOPH ist GENIAL!
      Nur die Doku ist mies (he, Sander, ich mach nichts kaputt, ich hab ein 1/2 Jahr gebraucht, um diesen Teil der Doku zu verstehen, und da oben hab' ich noch einiges weggelassen, was ich noch immer nicht auf die Reihe gekriegt hab :-)

      Nun zu Deinem Problem:
      ===================

      Probier mal folgenden Code in Deinen Formularen (HTML-Seiten), sollte funzen!
      __Achtung__ Du mußt auf die ~= aufpassen bei den Feldern, deren Code Du nicht in Deinen Beitrag reingegeben hast (dort fehlen die =)!

      Formular 1) Ausgabe der Daten anhand von Mehrfachauswahl:

      <FORM NAME="Objektsuche" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/gastro4sale/Objektdaten/Objekte&cmd=all" TARGET=_self METHOD=POST ENCTYPE="multipart/form-data">
      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/gastro4sale/Objektdaten/Objekte">
      <INPUT TYPE="HIDDEN" NAME="cmd=" VALUE="all">
      

      #dann kommen die Auswahlfelder

      <SELECT ID="Auswahlfeld3" NAME="Region~=">
      <OPTION VALUE="*" SELECTED>Alle Regionen</OPTION>
      <OPTION VALUE="Baden-Württemberg">Baden-Württemberg</OPTION>
      <OPTION VALUE="Bayern">Bayern</OPTION>
      <OPTION VALUE="Berlin">Berlin</OPTION>
      

      #usw...plus zwei weitere Auswahlfelder

      Formular 2) Ausgabe der Daten anhand einer eindeutigen Objekt-Nr:

      <FORM NAME="DirektLogIn" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/gastro4sale/Objektdaten/Objekte&cmd=all" TARGET=_self METHOD=POST ENCTYPE="multipart/form-data">
      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/gastro4sale/Objektdaten/Objekte">
      <INPUT TYPE="HIDDEN" NAME="cmd=" VALUE="all">
      

      #Feld für Objekt-Nr:

      <INPUT ID="Objektnr" TYPE="TEXT" NAME="Objekt-Nr~=" VALUE="" SIZE=5 MAXLENGTH=4>
      

      Mit allen Anführungsstrichen (") und Istgleichen(=) bzw. (~=) sollte die Geschichte gehen.

      Na, bin gespannt, wo ich mich in der Syntax wieder vertippselt hab :-) Am eigenen Code ist man meistens ein schlechter Syntaxchecker!

      Grüße Jurenda


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von Phixxi (280 Beiträge) am Donnerstag, 24.Januar.2002, 18:05.
    @ Andreas Jurenda oder Wissende: Please help!

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Donnerstag, 24.Januar.2002, 22:55.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Poste mal die beiden Link-Varianten, denn ich kann mir irgendwie das Problem nicht ganz vorstellen!

      Gruß Jurenda

     Antworten

    Beitrag von Phixxi (280 Beiträge) am Freitag, 25.Januar.2002, 11:18.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Formular 1) Ausgabe der Daten anhand von Mehrfachauswahl:
      <FORM NAME="Objektsuche" ENCTYPE="multipart/form-data" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?" TARGET=_self METHOD=GET>
      <INPUT TYPE=HIDDEN NAME="htx" VALUE="/gastro4sale/Objektdaten/Objekte">
      

      #dann kommen die Auswahlfelder

       <SELECT ID="Auswahlfeld3" NAME="Region~">
                   <OPTION VALUE="*" SELECTED>Alle Regionen</OPTION>
                   <OPTION VALUE="Baden-Württemberg">Baden-Württemberg</OPTION>
                   <OPTION VALUE="Bayern">Bayern</OPTION>
                   <OPTION VALUE="Berlin">Berlin</OPTION>
      

      #usw...plus zwei weitere Auswahlfelder

      Formular 2) Ausgabe der Daten anhand einer eindeutigen Objekt-Nr:
       <FORM NAME="DirektLogIn" ENCTYPE="multipart/form-data" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?" TARGET=_self METHOD=GET>
      <INPUT TYPE=HIDDEN NAME="htx" VALUE="/gastro4sale/Objektdaten/Objekte">
      

      #Feld für Objekt-Nr:
      <TD ALIGN="RIGHT"><INPUT ID="Objektnr" TYPE=TEXT NAME="Objekt-Nr~" VALUE="" SIZE=5 MAXLENGTH=4></TD>
      

      Du siehst, die Formulare unterscheiden sich nur in der Art der übergebenen Parameter.
      Das klappt ja auch alles soweit.
      Nur: Die Standardausgabe ist List. Soll für das erste Formular auch so sein.
      Das zweite sollte aber sofort die Detailansicht zeigen, da es sich dabei ja immer um EIN eindeutiges Objekt handelt.
      Muß ich extra ein zweites Template mit der Standardausgabe Detail erstellen?
      Wirklich seltsam ist, daß beim hidden field cmd=all die Detailausgabe erscheint, aber die übergebene Objektnummer anscheinend ignoriert wird...
      Es erscheint nämlich immer derselbe Datensatz...!
      *grmpf*
      Ich kann Dir die entsprechende Website leider noch nicht bieten, weil ich sie noch nicht publiziert habe.
      Liegt noch bei mir auf dem Rechner...

      Ich hoffe, es bringt Dir eine Idee.
      THX
      Phixxi

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Freitag, 25.Januar.2002, 15:09.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallo Phixxi!

      Sag mal, was läuft da?

      Ich habe mich mal über Dein METHOD=GET gewundert.
      Das ist nämlich ein Punkt, den ich selber noch nicht durchschaut habe. Was ist der Unterschied von GET und POST seitens des Browsers und seitens baseportal?

      Also hab ich in der erweiterten Suche zum Forum :-) nach method=get gesucht. Dabei habe ich zwei sehr interessante Links gefunden:

      1) Diskussion unserer Wissenden über GET:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=3016

      2) Antwort einer Frage von Volle mit ähnlichem Templateinhalt von __Dir__ und der Antwort: Nimm METHOD=POST
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/baseportal/forum&wcheck=1&Pos=4171

      Frage: Phixxi=Volle oder arbeitet ihr für den gleichen Kunden oder ist das ein Beispiel aus der Bib?

      Nun zu den Fakten: Ich würde hier METHOD=POST benutzen. Damit kenne ich mich mittlerweile recht gut aus, auch wenn noch einige Details (speziel wegen %_cgi) fehlen ;-)


      Punkt 1) Die Dokumentation

      Sander hat im April in der Doku etwas erweitert, und ich hab dann die vergessenen Zeichen reklamiert :-)
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=98
      Leider erklärt dieses Kapitel nicht die ganze Geschichte und schon gar nicht vollständig :-(
      Die Folge davon ist, das es immer wieder Probleme gibt!

      Mal schaun ob ich das mal hinkriege.


      Punkt 2) Das HTML-Tag <form> in baseportal

      Für die hier beschriebene Variante brauchst Du ein METHOD=POST
      Im ACTION=... steht der Link, der durch Ausführen des Formulars angesprungen wird. Hier gibt es leider einige Browser, die Mist bauen, weshalb es notwendig ist, daß __alle__ Parameter, die Du in den Link gibts (z.B. Deine fixe Einstellungen) zusätzlich als HIDDEN mit einem Istgleich (=) überträgst.
      ENCTYPE="multipart/form-data" muß so sein (HTTP-Protokoll). z.B.:

      <FORM ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/name/template" METHOD=POST ENCTYPE="multipart/form-data">
      


      Punkt 3) Die Hidden-Felder

      Alle Parameter, die Du in den ACTION=-Url reinstellst, müssen mit einem = versehen einzeln als HIDDEN übertragen werden. z.B:

      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/name/template">
      


      Punkt 4) Die Formular-Felder

      Das allgemeine Wissen über Formularfelder (setze ich hier voraus) ist für baseportal leider zu wenig. Alle Daten, die per Formularfeld übergeben werden, werden servereingangsseitig speziell behandelt. Äußerst entscheidend ist dabe der NAME eines Formularfeldes. Wenn die hier abschließenden Symbole des Namens nicht richtig sind, gibts Probleme! z.B.:

      <INPUT TYPE="TEXT" NAME="name:=" VALUE="" SIZE=10>
      

      Das obige Beispiel stellt ein allgemeines Formular-Eingabefeld dar. Entscheidend hierbei ist das :=

      Genaueres (na ja ;-) findest Du in der Dokumentation im folgenden Link ganz unten:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=61

      Verifizierte Fakten sind, daß bei diesen Istgleichs folgendes passiert (bei METHOD=POST):
      = dieser Parameter-Typ findet sich in %_get wieder
      := dieser Parameter-Typ findet sich in %_put wieder
      == dieser Parameter-Typ findet sich in %_sel wieder

      Parameter, die im Url mit = angegeben werden stehen ebenfalls in %_get
      Parameter, die im Url mit == angegeben werden stehen ebenfalls in %_sel

      Alle Parameter, die sich in %_get wiederfinden sind außerdem als einfache Scalar-Variable ansprechbar. Zum Beispiel ist unser htx= (steht im Url und im HIDDEN) steht in unserem Template als $htx zur Verfügung!

      Zu guter Letzt gibts da neben dem == noch eine Menge mehr an Vergleichsoperatoren, die Du in der Dokumentation findest unter:
      http://baseportal.de/cgi-bin/baseportal.pl?htx=/hilfe/baseportal/db_help&help=50

      Und noch etwas:
      Die Information in %_sel ist leider sehr unvollständig!
      Deshalb gibt es neben dem %_sel auch noch ein $_sel und ein @_sel.

      Beispiel:

      <INPUT TYPE="TEXT" NAME="name1=" VALUE="" SIZE=10>
      <INPUT TYPE="TEXT" NAME="name2:=" VALUE="" SIZE=10>
      <INPUT TYPE="TEXT" NAME="name3==" VALUE="" SIZE=10>
      

      Wenn jetzt der User der Reihe nach in die Felder die Worte "Ich" "bin" "gut" (ups, eingebildet!) einträgt und an unser Template abschickt, dann ist dies identisch mit folgendem Perlcode:

      <perl>
      $_get{name1}="Ich";
      $name1="Ich";
      $_put{name2}="bin";
      $_sel{name3}="gut";
      $_sel="name3==gut";
      $_sel[0]="name3";
      $_sel[1]="==";
      $_sel[2]="gut";
      </perl>
      


      Punkt 5) Die verschiedenen System-Hashes

      Ok, aber was ist was und was passiert dann?

      %_get:

      Dies ist der allgemeine "Parameter"-Hash.
      In der Regel befinden sich alle als Parameter übergebene Werte (in ACTION= als Url oder Datenbankabfrage). Wohlgemerkt Parameter und keine Abfragen.

      Beispiel: htx=

      Wenn Du zum Beispiel ein get "Id==0", "Datenbank"; ausführst, dann stehen alle Deine Daten des ersten Datensatzes in diesem Hash.
      Abrufen kannst Du dann Deine Daten mit $_get{feldname} und natürlich auch mit $feldname.

      %_put:

      Alle Dateneingaben werden normalerweise über Formularfelder übertragen, und stehen in diesem Hash. Zum Beispiel erzeugt baseportal in einem <do action=all> (bzw. do_all;) bei "Neu" ein Formular, wo bei allen Formular-Feldname ein := hinten dran hängt. Nach Absenden dieses Formulars befinden sich dann alle Eingaben in diesem Hash.
      Mit put %_put, "Datenbank"; wird dann dieser Datensatz an die Datenbank angehängt.
      Bei "Ändern" schauts so ähnlich aus und es erfolgt ein mod "Id==$Id", %_put, "Datenbank";

      %_sel:

      Allgemein steht in diesem alles, was mit einer Abfrage zu tun hat. Aber das ist etwas komplizierter!

      Die Elemente dieses Hashes haben gewisse Lücken, denn es befinden sich hier nur die beiden Seiten eines Vergleiches.

      Beispiel1: name==Meier

      Hier enthält der Hash nur dieses eine Element:
      $_sel{name}="Meier";
      

      Beispiel2: name~=Meier

      Ups, da gibts ebenfalls nur dieses eine Element:
      $_sel{name}="Meier";
      

      Das ist natürlich zu wenig.

      Somit gibts da, wie oben schon erwähnt, 2 weitere Variablen, nämlich $_sel und @_sel.

      In $_sel steht der gesamte Abfrageausdruck.

      Beispiel: name~=Meier

      Hier steht also in $_sel:
      $_sel="name~=Meier";
      

      Das Wichtigste bezüglich Abfragen ist jedoch unsere Liste @_sel, denn nur diese hat Auswirkungen.

      Beispiel: name~=Meier

      Hier steht also in @_sel:
      $_sel[0]="name";
      $_sel[1]="~=";
      $_sel[2]="Meier";
      

      __Nur__ Änderngen an @_sel haben Auswirkungen auf ein nachfolgendes <do action=all> oder do_all;

      ACHTUNG:
      In dem gerade Beschriebenen sind einige nicht dokumentierte Abläufe und einige nicht dokumentierte Variablen enthalten.
      Speziell die Variablen können sich ohne Vorwarnung __ändern__!
      Das sind:
      1) $_sel
      2) @_sel
      3) Auswirkungen von Änderungen an @_sel

      So, das war jetzt genug an bp-Theorie.

      Das dahinterstehende Konzept von CHRISTOPH ist GENIAL!
      Nur die Doku ist mies (he, Sander, ich mach nichts kaputt, ich hab ein 1/2 Jahr gebraucht, um diesen Teil der Doku zu verstehen, und da oben hab' ich noch einiges weggelassen, was ich noch immer nicht auf die Reihe gekriegt hab :-)

      Nun zu Deinem Problem:
      ===================

      Probier mal folgenden Code in Deinen Formularen (HTML-Seiten), sollte funzen!
      __Achtung__ Du mußt auf die ~= aufpassen bei den Feldern, deren Code Du nicht in Deinen Beitrag reingegeben hast (dort fehlen die =)!

      Formular 1) Ausgabe der Daten anhand von Mehrfachauswahl:

      <FORM NAME="Objektsuche" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/gastro4sale/Objektdaten/Objekte&cmd=all" TARGET=_self METHOD=POST ENCTYPE="multipart/form-data">
      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/gastro4sale/Objektdaten/Objekte">
      <INPUT TYPE="HIDDEN" NAME="cmd=" VALUE="all">
      

      #dann kommen die Auswahlfelder

      <SELECT ID="Auswahlfeld3" NAME="Region~=">
      <OPTION VALUE="*" SELECTED>Alle Regionen</OPTION>
      <OPTION VALUE="Baden-Württemberg">Baden-Württemberg</OPTION>
      <OPTION VALUE="Bayern">Bayern</OPTION>
      <OPTION VALUE="Berlin">Berlin</OPTION>
      

      #usw...plus zwei weitere Auswahlfelder

      Formular 2) Ausgabe der Daten anhand einer eindeutigen Objekt-Nr:

      <FORM NAME="DirektLogIn" ACTION="http://baseportal.de/cgi-bin/baseportal.pl?htx=/gastro4sale/Objektdaten/Objekte&cmd=all" TARGET=_self METHOD=POST ENCTYPE="multipart/form-data">
      <INPUT TYPE="HIDDEN" NAME="htx=" VALUE="/gastro4sale/Objektdaten/Objekte">
      <INPUT TYPE="HIDDEN" NAME="cmd=" VALUE="all">
      

      #Feld für Objekt-Nr:

      <INPUT ID="Objektnr" TYPE="TEXT" NAME="Objekt-Nr~=" VALUE="" SIZE=5 MAXLENGTH=4>
      

      Mit allen Anführungsstrichen (") und Istgleichen(=) bzw. (~=) sollte die Geschichte gehen.

      Na, bin gespannt, wo ich mich in der Syntax wieder vertippselt hab :-) Am eigenen Code ist man meistens ein schlechter Syntaxchecker!

      Grüße Jurenda

     Antworten

    Beitrag von Phixxi/Volle... (1 Beitrag) am Samstag, 26.Januar.2002, 15:17.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallo Jurenda,
      ....ich weiß gar nicht wo ich anfangen soll...
      Also, 1.:
      Richtig, Phixxi und Volle sind identisch!
      Erwischt! Ich bin ein paranoider Schizo ;-)
      Nein, Spass beiseite. Frag mich jetzt nicht, wieso ich hier mit 2 Nick's auftauche. Weiß ich selbst nicht mehr so genau...
      Ich hab -wie wohl die meisten hier- natürlich mehrere Accounts bei bp (zum Testen, für "Richtig", usw.)
      Unter anderem einen für Volle>Volker, mein richtiger Name (Volle ist mein Spitzname IRL so lange ich denken kann) und einen für Phixxi, mein Nick im Web.
      Irgendwann, als ich als Volle eingeloggt war, hatte ich 'ne Frage und benutzte dafür Volle.
      Als es dann eine Antwort gab, musste ich natürlich als Volle antworten. Als Phixxi war's ähnlich. Ich bin dann irgendwann selbst ganz durcheinander gekommen und musste immer gucken, welchen Nick ich gerade benutzte...*nerv*
      Deswegen ist "Volle" hier schon lange nicht mehr aufgetaucht...

      2.
      Ich finde Dein "kleines" Vorträgchen über bp -welches ich gerade über 5 Seiten ausgedruckt habe- sollte in die Doku aufgenommen werden.
      Ich werde mir das mal gaaanz in Ruhe über Wochenende reintun. Ich glaube fast, ich hatte bis jetzt einfach ein riesen Glück, daß -fast- alles so funktioniert wie ich's mir dachte.
      Auf vieles, worauf Du hingeiwesen hast, habe ich gar nicht so geachtet...
      Ich hab zwar den Unterschied zwischen name:= und name~=
      rausgefunden, aber sonst...
      Da ich immer noch nur mit do action=all arbeite, musste ich mich mit dem Rest noch nicht so auseinander setzten. Man kommt doch ziemlich weit damit...
      (Nachdem ich mir zuerst "Einführung in Perl" aus dem O'Reilly Verlag geholt hatte und zunächst ungefähr gar nix verstand, dachte ich mir:"do action=all muß reichen...)
      Ich hab mir aber vor kurzem noch "Jetzt lerne ich Perl" (Markt&Technik) geholt. Klingt zwar nach einem Buch aus der Dummie Serie, ist aber für Anfänger meines Erachtens besser geeignet. Ich denke, darauf sollte ich jetzt doch nochmal zurück greifen...

      3.
      Form Action= get oder post
      Am Anfang dachte ich ganz naiv: Get heißt kriegen und post heißt posten...
      (Macht ja auch Sinn) Daß das Ganze dann tatsächlich bei mir auch so geklappt hat scheint aber wieder mal Glück zu sein, denn die "offizielle" Erklärung dafür ist meine Wissens folgende:
      Get hängt die zurückzuliefernden Daten einfach an den URL an, während post die Daten seperat sendet...
      Das Formular Tag selbst !kann! um das HTTP Attribut Method= ergänzt werden, um dem Browser mitzuteilen, welche HTTP Methode der Server unterstüzt.
      Get ist dabei meistens Standard.

      Wie schon gesagt, ich dachte erst was anderes und genau so hatt's auch geklappt...
      (Das nenne ICH das Glück des Tüchtigen -oder sollte ich sagen Doofen?- Immer ausprobieren, ausprobieren, ausprobieren bis es mal klappt.)
      Da ich momentan -ein bißchen unter Zeitdruck- für mich selbst arbeite, reicht mir das auch für den Moment.
      Wieso das so ist, oder nicht finde ich später raus.
      Jetzt muß erstmal alles funzen, damit ich endlich online gehen kann. Bin schon 2 Monate hinter meinem Zeitplan und muß mal wieder ein bißchen Geld verdienen.

      Also, da ich a) gerade 'ne kleine Sehnenscheidentzündung am linken Handgelenk habe und tippe wie meine Oma und b) gleich Fußball anfängt und c) ich mir Deine Mega-Mail erstmal in Ruhe durchlesen will, werde ich mich So. o. Mo. näher dazu äußern.
      Ich hab nämlich extra meine Hndgelenkmanschette abgemacht, damit ich überhaupt ein bißchen tippen kann...;-)

      In diesem Sinne:
      Schönes Wochenende!
      Gruß
      Phixxi/Volle/Volker

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Samstag, 26.Januar.2002, 17:32.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallo Phixxi!

      Also als erstes die Entzündig kurieren, sonst geht mal gar nichts!

      Ansonsten war das, was Du Dir ausgedruckt hast, gerade mal die Einleitung :-)))))

      Da gibts noch eine Menge zu verstehen :-)

      Die Problematik, die ich gerade sehe ist, wie zerteilt man diese Information in solche Häppchen, daß ein Anfänger jene Info kriegt, die für Ihn zur Lösung seiner Probleme absolut notwendig ist, ohne das er dabei den Boden unter den Füßen verliert.

      Ansonsten bastle ich gerade an etwas herum, das im wesentlichen nur eine Dokumentation von UNDOKUMENTIERTEM ist, und Du kannst Dir die ganze Arbeit sparen. Da gibts nämlich so ein paar bp-Befehle, die Dir alle Arbeit abnehmen.

      Problem: CB hat diese noch nicht freigegeben, obwohl schon online :-)

      Ich werde, sobal ich fertig bin, die Geschichte an CB schicken und wenn er einverstanden ist, geht das Ganze online!

      Deine Nicks:

      Ist vollkommen OK. Ich hab auch mehrere. Aber im Chat versuche ich immer als jurenda aufzutauchen.

      Gewundert hat mich nur, daß Du meine Antwort (auf 4 Zeilen reduziert) schon von Sander gekriegt hast.

      Aber ist für mich ganz ok, denn die bp-Users habens wirklich nicht leich ;-)

      Gruß Jurenda

     Antworten

    Beitrag von Phixxi (280 Beiträge) am Samstag, 26.Januar.2002, 18:58.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hi Jurenda,
      da bin ich doch noch mal...
      Komisch. So mit 'ner Handgelenkmanschette zu tippen ist irgenwie wie mit 'nem Gips laufen...;-)
      Hab mir Deine "Einleitung" jetzt mal durchgelesen.
      Ich denke, ich hab einiges davon verstanden. Es stimmt, ich habe mir bisher noch gar nicht so viele Gedanken darüber gemacht, wie die Übergabe der Werte und Parameter von bp interpretiert wird. Ich hab da noch so'n bißchen Accessmäßig gedacht...
      Also nur daran, daß die Werte der Felder von bp erkannt und richtig abgespeichert/zugeordnet werden.
      Den Perl-Aspekt hab ich dabei gar nicht bedacht.
      (Zuordnung in Strings und Befehle). Dabei hab ich zumindest das so ein bißchen verstanden, als ich mit dem Perl Buch angefangen hab. Aber durch die Ähnlichkeit und Anpassung an Access (gerade beim Im/Export) hab ich das völlig außer Acht gelassen.
      Mir schwirrt aber auch gerade so viel im Kopf rum:
      Website erstellen (HTML, JS), Webdatenbank (bp, wobei ich am Anfang zuerst mit My SQL geliebäugelt hatte) und die Office DB (Access mit versch. Formularen).
      Und halt noch die üblichen Dinge, die man bei einer Neugründung zu beachten hat.
      Es war total oft so, daß ich die einfachsten Lösungen nicht erkannte, weil mir zuviel im Kopf rum ging. Als ich dann zu Hause war, fiel es mir wie Schuppen von den Augen...
      Und das bestätigt, denke ich auch genau das, was Du geschrieben hast. Der gemeine bp Anfänger weiß erstmal nicht wo er anfangen soll, bzw. was für seine Zwecke am Anfang am Wichtigsten ist. Man sieht das auch an den immer gleichen Fragen der Anfänger, die ich auch am Anfang hatte. Ein Anfänger muß sich erstmal in die "Denkweise" von Sander, CB und Co versetzen.
      Oftmals ist die Lösung eigentlich total einfach, aber durch eine...ich sage mal zu professionelle Ausdrucksweise, versteht man dann doch nix.
      Das wird auch schon wieder im Glossar von Hans deutlich. Die Idee ist ganz gut, aber trotzdem sehe ich hier und da schon wieder eine zu spezielle Ausdrucksweise.
      Naja, man muß sich halt erstmal reindenken und sich an die einen oder anderen Ausdrücke gewöhnen, dann klappt's schon mit der Zeit.
      Ich hoffe auch, daß die Doku nochmal überarbeitet wird.
      Der Anfang bis zu den Feldtypen geht ja noch, aber bei den Templates und Tags wird's dann schon schwieriger...
      Ich weiß gar nicht wie oft ich mir das Ganze wieder und wieder durchgelesen habe. Do action=all ist ja noch einfach, aber ich finde gerade bei den loop Tags wird's dann schon schwieriger und vor Allem zu wenig dokumentiert. Da hilft mir auch mein Perl Buch nix.

      So, genug geschwafelt. Ab an die Arbeit. Im großen und ganzen läuft ja alles so, wie ich's mir wünsche...
      Aber man ist halt Perfektionist und will's so genau wie möglich haben. Nur dazu reicht's dann mit do all nicht mehr...;-)

      Grüße
      Phixxi

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Samstag, 26.Januar.2002, 23:37.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Unterschätze mal das <do action=all> bzw. do_all nicht. Das ist wahnsinnig mächtig.

      Ich hab da vor einiger Zeit versucht, genau diese Geschichte zu dokumentieren bin dann gleich auf einige Ungereimtheiten gekommen. Diese damaliege Dokumentation existiert noch! Wenn Du sie Dir ansehen möchtest hier der Link:

      http://members.chello.at/andreas.jurenda/bpv/BP_intern.htm

      Damals habe ich versucht, als Ausgangspunkt das Wissen des Anfängers zu nehmen und dann zu den komplizierteren Dingen in bp und Perl zu schreiten. Aber ich war damals an einem Punkt, wo ich dann wieder was anderes gemacht habe und dann ist das auf Eis geblieben.

      Grüße Jurenda

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Samstag, 26.Januar.2002, 23:45.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      In diesem Zusammenhang möchte ich auch auf die beta-Dokumentation der neuen baseportal-beta-Version hinweisen. Dort findest Du einige der Ideen, die ich für die "didaktische" Erklärung eingeführten Unterteilungen und nicht existenten Befehlen, wiedergespiegelt in neuen Elementen in Zusammenhang von <do action=all>.

      Damals gab diesen Teil der beta nochnicht und mich freut es, das meine Ideen und Überlegungen gar nicht so dumm sind, denn Christoph sieht dies genau so :-)

      Link dazu http://seite.net/bphp/newfeatures.html#a27

      Herzliche Grüße von Andreas Jurenda

     Antworten

    Beitrag von Sander (8133 Beiträge) am Sonntag, 27.Januar.2002, 01:13.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallöchen, bin wieder da...

      Ich hab mal ne kleine Anmerkung:

      >> Oftmals ist die Lösung eigentlich total einfach, aber durch eine...ich sage mal zu professionelle Ausdrucksweise, versteht man dann doch nix.
      
      Das wird auch schon wieder im Glossar von Hans deutlich. Die Idee ist ganz gut, aber trotzdem sehe ich hier und da schon wieder eine zu spezielle Ausdrucksweise.

      Das Problem an der ganzen Geschichte ist ja, das die User am Anfang keinen Plan von Perl haben (ging mir vor 1,5 Jahren genauso). Also wenn man was mit perl machen will, sollte man doch mindestens den Teil cgi/perl in selfhtml lesen. Sonst müsste die Doku von bp riesig aufgebläht und der Inhalt der gängigen Perleinführungen dort mit aufgenommen werden.
      Genauso verhält es sich mit dem <loop>. Das setzt einfach auf html-kenntnisse auf, mehr braucht man nicht. Die erweiterte Form ist dann <loop code=perl> wobei wieder die Perleinführung vorhanden sein sollte.

      Ich habe mir das alles auch nur durch diesen Perfektionismus angeeignet - und es hat super geklappt.

      Grüsse

      Sander

     Antworten

    Beitrag von Jurenda (305 Beiträge) am Sonntag, 27.Januar.2002, 02:21.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Hallo Sander, schön Dich zu lesen!

      Bei mir sinds rund 10 Monate, aber mir gings nicht anders :-(

      Und ich gebe Dir absolut recht.

      Es ist verdammt schwierig jemandem etwas richtig (?vollständig) zu erklären, ohne Ihn dabei mit den Worten zu erdrücken :-(

      Schönes Urlaubsabschlußwochenende wünscht Dir Andreas Jurenda

     Antworten

    Beitrag von Phixxi (280 Beiträge) am Sonntag, 27.Januar.2002, 12:08.
    Re: @ Andreas Jurenda oder Wissende: Please help!

      Ja, ja... Ihr habt ja Recht. Selbst ich merke es ja schon so langsam (und ich bin gerade mal ein paar Wochen dabei). Nach und nach versteht man immer mehr, und vieles, was vorher in die Kategorie "Böhmische Dörfer" fiel, erscheint mir jetzt vollkommen logisch.
      In diesem Zusammenhang möchte ich noch ein Buch empfehlen, welches gerade für (bp) Anfänger recht nützlich sein kann: "Dynamic Web-Publishing" aus der "Jetzt lerne ich" Serie des Markt&Technik Verlags.
      Ich weiß, was "sinnvolle" Bücher angeht, gehen die persönlichen Meinungen oft auseinander. Und auch ich mußte mich zuerst dazu durchringen das Buch aus dieser Serie zu kaufen (riecht doch sehr nach "Mister Hat-sich-gerade-seinen-ersten-Computer-gekauft-und-will-sich-jetzt-'ne-Homepage-basteln"). Aber die Zusammenstellung der Themen ist gerade für bp User sehr sinnvoll. HTML, Java Script, Perl, PHP und ASP.
      Zwar alles nur leicht angeschnitten, aber gerade deswegen für Anfänger sehr geeignet, weil man da erst mal einen guten Überblick und eine leicht verständliche Einführung in die Materie bekommt.
      Und ich denke, bis auf PHP und ASP kann man mit allem ganz gut was anfangen. Danach kann (und sollte) man sich dann ein ausführlicheres Buch zum Thema holen. Und mit ca. 25,- Euro ist es auch noch bezahlbar.
      Zusammengefasst kann man also sagen: Die bp Doku ist eine gute Hilfe für baseportal (und dafür ist sie ja auch gedacht), so wie für einen gaaanz leichten Einstieg in Perl. Jedoch sollte man sich diesbezüglich (als Anfänger) auf jeden Fall noch ein Buch kaufen.
      Und der vielleicht wichtigste Tip den ich einem Anfänger geben würde: Die Doku AUSDRUCKEN! Auch wenn einen die vielen Seiten erstmal abschrecken.
      (Aber ich weiß eigentlich gar nicht für wen ich das hier schreibe...Euch brauch ich das ja nicht zu sagen, und ein Anfänger wird unsere Unterhaltung wohl kaum mitverfolgen.) Naja, Schwamm drüber! (Fishismus)
      Schönen Sonntag noch,
      Phixxi

     Antworten


     
 Liste der Einträge von 51150 bis 51300: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!