Formularfeld automatisch ausfüllen
Formularfeld automatisch ausfüllen
Hallo,
vieleicht kann mir ja jemand weiterhelfen?
Hab auf einer meiner Unterseiten mehrere Buttons die auf die Formularseite verlinken.
(mit: onclick="window.location.href='http://www.url ...)
Nun möchte ich je nachdem welchen Button ich drücke ein Formularfeld automatisch ausfüllen lassen bzw. gleich aus dem Dropdownmenü im Formular das richtige automatisch auswählen lassen.
geht das irgendwie mit "Get"
Schöne Grüße,
Matze
vieleicht kann mir ja jemand weiterhelfen?
Hab auf einer meiner Unterseiten mehrere Buttons die auf die Formularseite verlinken.
(mit: onclick="window.location.href='http://www.url ...)
Nun möchte ich je nachdem welchen Button ich drücke ein Formularfeld automatisch ausfüllen lassen bzw. gleich aus dem Dropdownmenü im Formular das richtige automatisch auswählen lassen.
geht das irgendwie mit "Get"
Schöne Grüße,
Matze
Re: Formularfeld automatisch ausfüllen
Kannst du denn nicht einfach auf unterschiedlich vorausgefüllte Formulare verlinken 

Re: Formularfeld automatisch ausfüllen
ja, das wäre meine Notlösung. Aber find ich auf die Dauer umständlich. Weil sich öfters mal was ändert.
Das andere wäre eleganter
Das andere wäre eleganter

- Oliver Georgi
- Site Admin
- Posts: 9909
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Formularfeld automatisch ausfüllen
Das fängt man ganz einfach ab über ein Frontend Init Script, so sollte es eigentlich gehen.
Über GET Index prüfen ob der Feldwert überhaupt zulässig ist und dann per $_POST den Formularwert mitgegeben. Dann kümmert sich das Formular CP darum, dass die Werte übernommen werden. Ansonsten wird der Standard genommen.
Über GET Index prüfen ob der Feldwert überhaupt zulässig ist und dann per $_POST den Formularwert mitgegeben. Dann kümmert sich das Formular CP darum, dass die Werte übernommen werden. Ansonsten wird der Standard genommen.
Code: Select all
<?php
// Deine URL zum Formular example.com/formalias.html?prefill=1&field1=A&field2=B&field3=…
if(isset($_GET['prefill']) && empty($_POST)) {
// nur erlaubte Feldnamen
foreach(array('field1', 'field2', 'field3') as $field) {
if(!empty($_GET[$field])) {
// POST Variable setzen
$_POST[$field] = clean_slweg($_GET[$field]);
}
}
}
?>
Re: Formularfeld automatisch ausfüllen
ok... Sorry für meine unwissenheit. Bin da leider nicht wirklich fit da drin
Wo muss ich das jetzt genau reinbasteln?
Wenn ich das jetzt richtig rauslese ist der Code nur zum Erkennen bzw. zum Auswerten ob ein Wert übergeben wird. Ist das richtig?
Und wenn dann fehlt ja noch der Teil, den ich sozusagen in den Button einbauen muss, damit ein bestimmter Wert übergeben wird.
Oder bin ich da jetzt komplett falsch?


Wo muss ich das jetzt genau reinbasteln?
Wenn ich das jetzt richtig rauslese ist der Code nur zum Erkennen bzw. zum Auswerten ob ein Wert übergeben wird. Ist das richtig?
Und wenn dann fehlt ja noch der Teil, den ich sozusagen in den Button einbauen muss, damit ein bestimmter Wert übergeben wird.
Oder bin ich da jetzt komplett falsch?


- Oliver Georgi
- Site Admin
- Posts: 9909
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Formularfeld automatisch ausfüllen
Jamatzeb wrote:Oder bin ich da jetzt komplett falsch?
Steht doch alles drin, Script in neue Datei
getformdata.php
in template/inc_script/frontend_init
packen.Dein Formular hast Du angelegt. Felder, die Du per URL vorausfüllen möchtest, haben eine Namen, z.B. name, topic, whatever.
Dann rufe doch einfach einmal eine Beispiel-URL zum Formular Deiner Seite auf. Hänge einfach an die URL
?prefill=1&name=Dein%20Name
dran.Dann solltest Du das Prinzip verstanden haben.
Re: Formularfeld automatisch ausfüllen
Ok das hab ich so weit ein wenig verstanden...
aber funktioniert bei mir natürlich wieder mal nicht
kann es sein weil ich automatisch schon ein Fragezeichen drin hab beim Aufruf der Seite?
Also wenn ich die Seite über die Navigations aufrufe, sieht meine Url standardmäßig so aus: www.example.de/index.php?mieten
wenn ich die Werte übergebe sollte die dann so aussehen?: www.example.de/index.php?mieten&name=Mustermann
dann müsste ich doch die erste Zeile so anpassen, oder?:
aber funktioniert bei mir natürlich wieder mal nicht

kann es sein weil ich automatisch schon ein Fragezeichen drin hab beim Aufruf der Seite?
Also wenn ich die Seite über die Navigations aufrufe, sieht meine Url standardmäßig so aus: www.example.de/index.php?mieten
wenn ich die Werte übergebe sollte die dann so aussehen?: www.example.de/index.php?mieten&name=Mustermann
dann müsste ich doch die erste Zeile so anpassen, oder?:
Code: Select all
if(isset($_GET['mieten']) && empty($_POST))
- Oliver Georgi
- Site Admin
- Posts: 9909
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Formularfeld automatisch ausfüllen
So kannst Du es natürlich auch machen, meine Lösung ist lediglich universeller, falls Du mehrere Formulare auf unterschiedlichen Seiten verwendest. Nur wichtig, noch eine Art Eindeutigkeitsprüfung zu nutzen, sodass das Script nicht auf jeder Seite in die Tiefe muss.
Re: Formularfeld automatisch ausfüllen
Nur funktioniert es nichtOliver Georgi wrote:So kannst Du es natürlich auch machen

Muss ich im Script noch irgendwelche Anpassungen machen?
SIeht bei mir jetzt mal zum Testen so aus:
Code: Select all
<?php
// Deine URL zum Formular example.com/formalias.html?prefill=1&field1=A&field2=B&field3=…
if(isset($_GET['mieten']) && empty($_POST)) {
// nur erlaubte Feldnamen
foreach(array('name') as $field) {
if(!empty($_GET[$field])) {
// POST Variable setzen
$_POST[$field] = clean_slweg($_GET[$field]);
}
}
}
?>
Wie mach ich das nun wieder?Oliver Georgi wrote:Nur wichtig, noch eine Art Eindeutigkeitsprüfung zu nutzen, sodass das Script nicht auf jeder Seite in die Tiefe muss.

- Oliver Georgi
- Site Admin
- Posts: 9909
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Formularfeld automatisch ausfüllen
Ab jetzt beginnt das Deuten per Glaskugel. Sorry, dazu fehlt mir die Zeit und die Lust.
Re: Formularfeld automatisch ausfüllen
sehr schade aber kann ich verstehen
Aber vielleicht finde ich das Problem ja selber. (evtl. mit einer minimalen Unterstützung von dir
)
In deiner Beispiel URL steht ja "prefill=1"
ist das "=1" wichtig?
in meiner URL steht ja lediglich /index.php?mieten&name=Mustermann
oder müsste die auch so aussehen: /index.php?mieten=1&name=Mustermann (aber dann komm ich nicht auf die Seite)

Aber vielleicht finde ich das Problem ja selber. (evtl. mit einer minimalen Unterstützung von dir

In deiner Beispiel URL steht ja "prefill=1"
ist das "=1" wichtig?
in meiner URL steht ja lediglich /index.php?mieten&name=Mustermann
oder müsste die auch so aussehen: /index.php?mieten=1&name=Mustermann (aber dann komm ich nicht auf die Seite)
- Oliver Georgi
- Site Admin
- Posts: 9909
- Joined: Fri 3. Oct 2003, 22:22
- Contact:
Re: Formularfeld automatisch ausfüllen
Nein, das
Und solltest Du nicht klarkommen, auch ich bin käuflich…
mieten
ist das Alias, damit überhaupt die Seite gefunden werden kann. Letztlich ist unwichtig bei prefill, ob da eine 1 dransteht oder nicht. Macht nur klar, dass es ein GET-Wert ist, der – wenn vorhanden – zu weiteren Aktionen führt.Und solltest Du nicht klarkommen, auch ich bin käuflich…
Re: Formularfeld automatisch ausfüllen
ah, das klingt doch auch nicht schlecht... darüber können wir uns auch gern unterhalten! 
