Felder automatisch ausfüllen
Jens
- sonstiges
0 Der Martin0 Ashura0 Der Martin0 Ashura
0 Jens
0 Vinzenz Mai0 Jens0 Vinzenz Mai0 Jens0 Vinzenz Mai0 Jens
Hallo Ihr Wissenden,
ich habe folgendes Problem und hoffe hier jemanden zu finden, der mich der Lösung näher bringt.
Vielleicht kennt Ihr ja die Seite www.gelbeseiten.de
Dort gibt es ein Eingabefeld für "Was" man sucht und ein Eingabefeld für "Wo" man sucht und einen Button um die Suche zu starten.
Meine Frage: Ist es möglich einen Link zu zu schreiben, der bereits die zu suchenden Begriffe enthält? Z.B. in der Art: www.gelbeseiten.de/?was:"Schreiner"?wo:"Hamburg"
Ich glaube so was schon mal gesehen zu haben, kann mich aber nicht erinnern wo. Wenn es gehen sollte, wie müßte so ein Link aussehen?
Besten Dank
Jens
Hallo Jens,
Vielleicht kennt Ihr ja die Seite www.gelbeseiten.de
so ungefähr, ja.
Meine Frage: Ist es möglich einen Link zu zu schreiben, der bereits die zu suchenden Begriffe enthält? Z.B. in der Art: www.gelbeseiten.de/?was:"Schreiner"?wo:"Hamburg"
Klares, entschiedenes "jein".
Die Formulardaten werden ja beim Absenden an ein serverseitiges Script übergeben, das die eigentliche Arbeit erledigt. Für diese Übergabe gibt es zwei verschiedene Methoden, POST und GET (auf die technischen Hintergründe will ich mal nicht eingehen).
Falls das Formular mit GET arbeitet, kann man es umgehen und die Daten, wie du es angedeutet hast, mit einem Link übergeben. Dazu muss man "nur" noch herausfinden, wie die Eingabefelder des Formulars heißen, damit man dem Script die Daten richtig zur Verfügung stellen kann.
Bei POST-Formularen geht's leider nicht so einfach.
So, nun die gute Nachricht: Das Formular der Gelben Seiten arbeitet mit GET.
Die schlechte Nachricht: Die sorgen mit einem Trick dafür, dass man das Eingabeformular eben _doch nicht_ umgehen kann. Wenn du die Seite aufrufst, ist vom Server her in einem unsichtbaren Formularfeld ein zufälliger Wert eingetragen. Nur wenn beim Absenden des Formulars dieser Zufallswert wieder mit übertragen wird, kommt die erwartete Antwort. Da dieser Wert jedesmal wieder anders ist, lässt sich das schlecht automatisieren.
Wenn es gehen sollte, wie müßte so ein Link aussehen?
Die Feldnamen und die zugehörigen Werte würden einfach mit einem Fragezeichen abgetrennt an die URL angehängt:
?feld1=wert1&feld2=wert2&feld3=wert3
Schönen Abend noch,
Martin
Hallo Martin.
Falls das Formular mit GET arbeitet, kann man es umgehen und die Daten, wie du es angedeutet hast, mit einem Link übergeben.
Das ist mit per POST zu verschickenden Formularen ebenfalls möglich.
Man kann sowohl die POST-Daten manipulieren als auch das Formular zu einem GET-Formular machen.
Siehe Web Developer Toolbar.
Einen schönen Montag noch.
Gruß, Ashura
Hallo Ashura,
Falls das Formular mit GET arbeitet, kann man es umgehen und die Daten, wie du es angedeutet hast, mit einem Link übergeben.
Das ist mit per POST zu verschickenden Formularen ebenfalls möglich.
ja, sicher. Ich hatte nicht geschrieben, dass es unmöglich sei. Ich habe nur gesagt,
Bei POST-Formularen geht's leider nicht so einfach.
denn es erfordert ein zusätzliches Script oder eben eine Browser-Extension.
By the way, ein _Formular_ von POST auf GET zu ändern, ist ja normalerweise (wenn das zugehörige Script sauber programmiert ist) ziemlich zweckfrei. Ich greife in meinen PHP-Scripts jedenfalls ganz konkret auf $_POST[] oder $_GET[] zu, je nachdem, was mir für den Anwendungsfall günstiger erscheint.
Schönen Abend noch,
Martin
Hallo Martin.
Falls das Formular mit GET arbeitet, kann man es umgehen und die Daten, wie du es angedeutet hast, mit einem Link übergeben.
Das ist mit per POST zu verschickenden Formularen ebenfalls möglich.ja, sicher. Ich hatte nicht geschrieben, dass es unmöglich sei. Ich habe nur gesagt,
Bei POST-Formularen geht's leider nicht so einfach.
Dies wollte ich auch nicht implizieren, lediglich erweitern.
By the way, ein _Formular_ von POST auf GET zu ändern, ist ja normalerweise (wenn das zugehörige Script sauber programmiert ist) ziemlich zweckfrei. Ich greife in meinen PHP-Scripts jedenfalls ganz konkret auf $_POST[] oder $_GET[] zu, je nachdem, was mir für den Anwendungsfall günstiger erscheint.
Ich denke ebenso. So behalte stets den Überblick über die Herkunft der jeweiligen Daten.
Praktischerweise tut dies aber offenbar nicht jeder.
Einen schönen Montag noch.
Gruß, Ashura
Hallo Martin,
auch Dir vielen Dank für Deine Ausführungen.
Die schlechte Nachricht: Die sorgen mit einem Trick dafür, dass man das Eingabeformular eben _doch nicht_ umgehen kann. Wenn du die Seite aufrufst, ist vom Server her in einem unsichtbaren Formularfeld ein zufälliger Wert eingetragen. Nur wenn beim Absenden des Formulars dieser Zufallswert wieder mit übertragen wird, kommt die erwartete Antwort. Da dieser Wert jedesmal wieder anders ist, lässt sich das schlecht automatisieren.
Dieses unsichtbare Feld ist wohl diese SessionID, nehme ich mal an, oder?
Und deswegen geht vermutlich auch das mit dem execute=suchen nicht, vermute ich da richtig? Siehe Auch Antwort an Vinzenz.
Gruß Jens
Hallo
ich habe folgendes Problem und hoffe hier jemanden zu finden, der mich der Lösung näher bringt.
Wie wäre es mit einem Blick in den Quelltext der betreffenden Seite?
Vielleicht kennt Ihr ja die Seite http://www.gelbeseiten.de
Dort gibt es ein Eingabefeld für "Was" man sucht und ein Eingabefeld für "Wo" man sucht und einen Button um die Suche zu starten.
noch besser http://www.gelbeseiten.de/yp/quick.yp :-)
Meine Frage: Ist es möglich einen Link zu zu schreiben, der bereits die zu suchenden Begriffe enthält? Z.B. in der Art: www.gelbeseiten.de/?was:"Schreiner"?wo:"Hamburg"
Der Blick in den Quelltext besagt, dass es sich einmal um ein
<input name="subject" type="text" ...>
, ein [code lang=html]<input name="location" type="text" ...> und die Übertragungsmethode GET handelt.
Ich glaube so was schon mal gesehen zu haben, kann mich aber nicht erinnern wo. Wenn es gehen sollte, wie müßte so ein Link aussehen?
Gib mal
http://www.gelbeseiten.de/yp/quick.yp?subject=Elektro&location=Berlin
in der Adresszeile ein :-) Überlege Dir, welcher Zusammenhang mit dem name-Attribut der Eingabefelder und dem Querystring besteht.
Freundliche Grüße
Vinzenz
Hallo
ich habe folgendes Problem und hoffe hier jemanden zu finden, der mich der Lösung näher bringt.
Wie wäre es mit einem Blick in den Quelltext der betreffenden Seite?
Für den Blick reicht es noch, bei der Interpretation hapert es noch gewaltig. Wenn ich das könnte, hätte ich ja nicht fragen brauchen. ;-)
Vielleicht kennt Ihr ja die Seite http://www.gelbeseiten.de
Dort gibt es ein Eingabefeld für "Was" man sucht und ein Eingabefeld für "Wo" man sucht und einen Button um die Suche zu starten.noch besser http://www.gelbeseiten.de/yp/quick.yp :-)
OK, da hast Du Recht, wäre einfacher gewesen.
Meine Frage: Ist es möglich einen Link zu zu schreiben, der bereits die zu suchenden Begriffe enthält? Z.B. in der Art: www.gelbeseiten.de/?was:"Schreiner"?wo:"Hamburg"
Der Blick in den Quelltext besagt, dass es sich einmal um ein
<input name="subject" type="text" ...>
, ein [code lang=html]<input name="location" type="text" ...> und die Übertragungsmethode GET handelt.Ich glaube so was schon mal gesehen zu haben, kann mich aber nicht erinnern wo. Wenn es gehen sollte, wie müßte so ein Link aussehen?
Gib mal
http://www.gelbeseiten.de/yp/quick.yp?subject=Elektro&location=Berlin
Super, so hatte ich mir das vorgestellt. 8-))
Zusatzfrage: Kann mad das Auslösen des Suchen-Buttons auch mit dem Link "mitschicken", so dass dann gleich das Ergebnis angezeigt wird?
http://www.gelbeseiten.de/yp/quick.yp?subject=Elektro&location=Berlin&execute=suchen
habe ich schon probiert, das klappt aber nicht.
in der Adresszeile ein :-) Überlege Dir, welcher Zusammenhang mit dem name-Attribut der Eingabefelder und dem Querystring besteht.
Sorry, die Frage setzt bei mir schon etwas zu viel voraus.
Bin eben noch ein rechter Anfänger.
Trotzdem schon mal vielen Dank.
Gruß Jens
Freundliche Grüße
Vinzenz
Hallo Jens,
Gib mal
http://www.gelbeseiten.de/yp/quick.yp?subject=Elektro&location=Berlin
Super, so hatte ich mir das vorgestellt. 8-))
*seufz*, ich habe befürchtet, dass ich Dir _nicht_ geholfen habe.
Zusatzfrage: Kann mad das Auslösen des Suchen-Buttons auch mit dem Link "mitschicken", so dass dann gleich das Ergebnis angezeigt wird?
http://www.gelbeseiten.de/yp/quick.yp?subject=Elektro&location=Berlin&execute=suchen
habe ich schon probiert, das klappt aber nicht.
Nein, warum auch? Du solltest Dir überlegen, wo der Zusammenhang ist. Lies Dir das Posting von Martin nochmals durch, er hat es Dir gut erklärt.
Es gibt kein Formularelement, das den Namen "execute" trägt. Und was sollte es bezwecken, diesem Feld den Wert "suchen" zuzuweisen? Du solltest die Zusammenhänge verstehen, nicht irgendwelches Vorgekaute irgendwohin kopieren, ohne auch nur darüber nachzudenken.
Vielleicht kannst Du mit einem Bookmarklet Dein Ziel erreichen. Bei Deinen Versuchen könntest Du mit der Objektreferenz von SELFHTML arbeiten.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
Es gibt kein Formularelement, das den Namen "execute" trägt. Und was sollte es bezwecken, diesem Feld den Wert "suchen" zuzuweisen? Du solltest die Zusammenhänge verstehen, nicht irgendwelches Vorgekaute irgendwohin kopieren, ohne auch nur darüber nachzudenken.
Ich bin ja bemüht es zu verstehen. Leider ist es für einen Anfänger eben nicht so einfach.
Natürlich habe ich mir den Quellcode der Seite vorher angesehen und bin durch das:
<input type="submit" name="execute" tabindex="3" value="Suchen" class="textMBlack">
auf die Idee mit execute gekommen.
Nun sagst Du, es gibt kein Formularelement mit dem Namen execute.
Jetzt blicke ich überhaupt nicht mehr durch.
Gruß Jens
Hallo Jens,
Ich bin ja bemüht es zu verstehen. Leider ist es für einen Anfänger eben nicht so einfach.
Natürlich habe ich mir den Quellcode der Seite vorher angesehen und bin durch das:
<input type="submit" name="execute" tabindex="3" value="Suchen" class="textMBlack">
sorry, mein Fehler, da hab' ich nicht genau genug hingeschaut. Es nutzt bloß nichts, weil Du so ein Formular nicht abschicken kannst.
Du kannst ein Formular abschicken, indem Du auf einen entsprechenden Formularbutton klickst, siehe SELFHTML. Lies Dir dort das ganze Kapitel Formulare durch, Du kannst die Enter-Taste betätigen (was etwas schludrige Scriptersteller ins Schleudern bringen kann) oder z.B. über die Submit-Methode von Javascript. Da Du offensichtlich etwas "automatisiert" abschicken willst, käme da die clientseitige Programmiersprache Javascript in Frage, z.B. in Form eines Bookmarklets.
Freundliche Grüße
Vinzenz
Hallo Vinzenz,
sorry, mein Fehler, da hab' ich nicht genau genug hingeschaut. Es nutzt bloß nichts, weil Du so ein Formular nicht abschicken kannst.
Du kannst ein Formular abschicken, indem Du auf einen entsprechenden Formularbutton klickst, siehe SELFHTML. Lies Dir dort das ganze Kapitel Formulare durch, Du kannst die Enter-Taste betätigen (was etwas schludrige Scriptersteller ins Schleudern bringen kann) oder z.B. über die Submit-Methode von Javascript. Da Du offensichtlich etwas "automatisiert" abschicken willst, käme da die clientseitige Programmiersprache Javascript in Frage, z.B. in Form eines Bookmarklets.
Das mit den Bookmarklets habe ich vorhin mal überflogen, aber nicht so recht verstanden. Vermutlich ist es nur schon zu spät.
Nein, ich will eigendlich nichts "automatisiert" machen. Es geht mir nur darum, jemandem einen Link per eMail zu schicken, um Ihm das Ergebnis einer bestimmten Suchanfrage zu zeigen. Nachdem das aber nun nicht möglich ist, kann ich nur den Link verschicken, der die Eingabefelder ausfüllt und der Empfänger muß dann eben auf den Suchen-Button drücken. Wenn es eben nicht anders geht, dann eben so. Oder meinst Du das ginge auch mit diesen Bookmarklets? Dann müßte ich mich da noch mal reinknien.
Gruß Jens