|
|
 |

|

 |

| Community » Perl: Allgemeines Forum |
|
Skript für Optionsfeld?
|
Seitenanfang |
| Hallo! Ich hab folgendes Problem: Und zwar hab ich auf einer Webseite ein Textfeld zum Suchen, das ich gerne doppelt nutzen möchte (zur Druckersuche und OEMSuche) durch Einfügen eines Optionsfeldes. Also etwa so: <form method="POST" action="--WEBBOT-SELF--"> <p><input type="text" name="c" size="20"><input type="radio" value="a" name="R1"><input type="radio" value="b" checked name="R1"></p> </form> Nun ist es jedoch so, daß ich mit dem Optionsfeld immer nur einen Wert ändern kann. Ich benötige jedoch zwei (oder mehr) Werte. Beispiel für Druckersuche: ../cgi-bin/beispiel.pl?db=drucker.txt&c=&f=*MODELL,*HERSTELLER&t=temdruckersuche.htm Beispiel für OEMSuche: /cgi-bin/beispiel.pl?db=oem.txt&c=&f=*OEM,*HERSTELLER&t=temoemsuche.htm Wie man sieht, sind bei den Beispielen immer 2 Werte (db und t) unterschiedlich. Gibt es da viell. ein Skript, das ich anstelle der beispiel.pl aufrufen kann und in dem ich dann das alles definieren kann? Mh, hoffe mal ich hab das jetzt verständlich erklärt, um was es mir geht und ob da jemand viell. ein Standard-Skript kennt, da solche Dinge macht. Vielen Dank vorab. Elliot
Datum: 22.12.2004-20:50

|
re: Skript für Optionsfeld?
|
Seitenanfang |
| Arrgh. Das ist, mit Verlaub, eine ganz bloede Idee. Du hast bei deiner Vorgehensweise gleich mehrere Probleme: a) Der Parameter "db=oem.txt" wird hoffentlich geprueft bevor Du damit irgendetwas machst und nicht einfach an open() uebergeben, oder? Sonst kommt das boese Spielkind und baut die URL um in z.B. "db=../../../../../../../../etc/passwd". Upsi, das wollten wir aber nicht so haben... b) Templatenamen (vermute ich jetzt mal fuer t) sollten aud oben genannten Gruenden ebenfalls nichts in der URL verloren haben. Hier ist es sogar meist noch kritischer. Fast alle Template-Systeme arbeiten nach dem Prinzip oeffne die Datei, suche nach den Platzhaltern, ersetze durch evtl. uebergebene Daten und schreibe alles mit dem unveraenderten Rest raus. Kann ich genauso vorgehen wie im vorherigen Beispiel, oder benutze "t=../$0" und hab mit ein bisschen rumprobieren deinen Skript-Quellcode... Besser: schmeiss t und db aus der URL raus, fuege statt dessen einen Parameter (ueber das radio-input) ein, der eindeutig festlegt was gemacht werden soll (z.B. "do=oem" bzw. "do=printer". Im Zielskript legst Du nun die Werte fuer t und db fest, je nachdem welchen Wert dieser Parameter (do) hat. Probem beseitigt und die Funktion die Du haben willst.
Datum: 23.12.2004-09:26

|
re: Skript für Optionsfeld?
|
Seitenanfang |
| Hallo Cremator, vielen Dank für Deine Antwort! Mh, kann natürlich schon sein, daß das alles etwas kritisch ist, aber bis jetzt hab ich noch keine Problem gehabt, daß da jemand Schindluder getrieben hat. Muß auch noch erwähnen , daß ich mich mit Perl nicht auskenne, sondern nur, wie man was aufruft mit dem Skript, das ich im Einsatz habe. Ist ne fertige Lösung. Deshalb bräuchte ich auch ein fertiges Skript für das Optionsfeld. Kennst Du da nicht zufällig was? Wie gesagt, kann so etwas in Perl nicht selbst programmieren, weil ich mich damit nicht auskenne. Gruß, elliot
Datum: 23.12.2004-10:32

|
re: Skript für Optionsfeld?
|
Seitenanfang |
| Ich denke mal das das Problem doch etwas zu spezialisiert ist, da wird es keine "Standardloesung" geben. Der von Dir anvisierte Ansatz ist halt auch nicht grade gebraeuchlich. Warum sollte sich jemand ein Skript bauen, das Parameter entgegennimmt, diese "umbaut" und an ein anderes Skript weiterschickt? Es ist a) schweinekompliziert das als allgemeingueltiges regelbasiertes Skript zu bauen. b) uneffizient in Bezug auf Netzwerktraffic: Browser verschickt Formular mit den ganzen Daten an das "Zwischenskript". Zwischenskript bearbeitet die Daten und schickt alles per Location-Header wieder zurueck an den Browser. Dieser muss dann die ganzen Daten nochmal an das eigentliche Zielskript versenden. Die fast exakt gleichen Daten wandern also 3x durchs Netz. Aus oben genannten Gruenden wird dann doch besser gleich das eigentliche Skript angepasst. Wenn's eine fertige Loesung ist, warum fragst Du dann nicht beim eigentlichen Autor nach, ob er die Funktionalitaet erweitern will/kann?
Datum: 23.12.2004-11:01

|
re: Skript für Optionsfeld?
|
Seitenanfang |
| Mh, so gesehen hast Du natürlich schon recht, daß die Daten unnötiger Weise durchs Netz wandern und die Sache dadurch natürlich auch verlangsamen. Soweit hab ich ehrlich gesagt gar nicht gedacht. Ich denke, ich werde tatsächlich mal beim Autor anfragen, ob er da was einbauen kann. Auf jeden Fall mal herzlichen Dank für Deine Anregungen! Frohe Weihnachten und eine guten Rutsch ins Neue Jahr vorab. Elliot
Datum: 23.12.2004-12:28

|
re: Skript für Optionsfeld?
|
Seitenanfang |
hallo, um noch mal auf dein "mehrere Werte benötigen" zurückzukommen: nimm doch checkboxen anstatt radiobuttons. gruß stef
Datum: 23.12.2004-16:46

|
|

|

|

|
 |

|

|
|