Tutorials von Thomas Frei-Herrmann

Aktion übernehmen aus URL-Eingabe für Formular Felder

 

Vielen Dank für diese Anregung an “Der Unbekannte” aus dem NOF-Forum.de

 

 

 

Anrede:

 

 Herr

 Frau

Vorname:

 

 

Name:

 

 

Land:

 

 

 

 

 

... die Idee ist, dass man einen Link an jemanden schicken kann, indem bereits bestimmte Vorgaben für die Formular-Felder eingebaut sind, wie z.B. hier das “Geschlecht”, der “Vorname” und der “Name”. Es handelt sich um ganz normale Eingabe-Felder eines NOF-Formulars.

Ihr könnt die Namen in der Browser-Eingabezeile ja mal verändern, um das auszuprobieren.

Hier z.B. noch mit der Anrede “Herr” sowie dem Vornamen “Thomas” und als Nachname “Frei-Herrmann”.

http://www.tommyherrmanndesign.com/nof/ActionURL-Formular/index.php?geschlecht=Herr&meinvorname=Thomas&meinname=Frei-Herrmann

 

... um dies zu erreichen, müsst Ihr die Seite mit Eurem Formular auf “.php” umstellen. Dazu markiert Ihr in der “Site Ansicht” diese Seite und geht oben im Menü:

> “Bearbeiten” > “Benutzerdefinierte Namen ...” > und bei “Dateierweiterung” wählt Ihr > “.php

Ihr klickt auf das entsprechende “Eingabefeld” (wie z.B. “Vorname”):

> klick auf “Eingabefeld” > Fenster “Eingabefeld - Eigenschaften” > Button “HTML”

... dort fügt Ihr “im Tag” (NOF 11 “innen”) folgenden Code ein (hier als Beispiel für das Feld “Vorname”, wobei ich hier als Variable “meinvorname” gewählt habe, wie diese Variable heißt ist egal - aber bitte keine Umlaute, Leer- oder Sonderzeichen):

value="<?php echo htmlentities($_GET["meinvorname"],ENT_QUOTES); ?>"

Nun wird mit der URL, in der diese Aktion mit angehängt werden soll, eben auch z.B. die Variable “meinvorname” mit dem Wert “Susanne” angegeben, in diesem Beispiel hier:

?geschlecht=Frau&meinvorname=Susanne&meinname=Mustermann

http://www.tommyherrmanndesign.com/nof/ActionURL-Formular/index.php?geschlecht=Frau&meinvorname=Susanne&meinname=Mustermann

... den verschiedenen Formular-Feldern könnt Ihr nun eben verschiedene Variablen zuordnen, wie z.B. dem Feld “Nachname” > “meinname” und diese Prozedur entsprechend für dieses Feld wiederholen. Verbinden tut Ihr diese Variablen mit einem “&” Zeichen, wie im oben im Link zu erkennen.

 

Mit Umlauten und Sonderzeichen habe ich mir zuerst mit der URL-Codierung beholfen:

ä = %E4
Ä = %C4

ö = %F6
Ö = %D6

ü = %FC
Ü = %DC

ß = %DF

http://www.w3schools.com/tags/ref_urlencode.asp

Beispiel:

http://www.tommyherrmanndesign.com/nof/ActionURL-Formular/index.php?geschlecht=Herr&meinvorname=G%FCray&meinname=Fl%F6%DFer&land=D

 

Jetzt habe ich noch folgendes geändert und auf dieser Seite hier verwendet. Somit können Umlaute und Sonderzeichen auch direkt in die URL eingetragen werden.

Nun fügt Ihr anstelle des oben beschriebenen Skripts “im Tag” diesen Code ein, wobei die Funktion, hier in blau markiert, nur einmal auf der Seite sein darf. Also hier als Beispiel für das Feld “Vorname”:

<?php
function url_iso($url_parameter)
  {
    if (mb_check_encoding($url_parameter, 'UTF-8'))
      $url_parameter = utf8_decode($url_parameter);
 
    return htmlentities($url_parameter, ENT_QUOTES, 'ISO-8859-1');
  }
?>

value="<?php echo url_iso($_GET['meinvorname']); ?>"

... für das nächste und alle folgenden Eingabefelder dann nur noch den Code für den Wert (value) eintragen, hier als Beispiel für mein Feld “Name”:

value="<?php echo url_iso($_GET['meinname']); ?>"

Beispiel:

schreibt die Umlaute mal direkt in die URL um das zu testen. Da man in die Links von NOF keine Umlaute eintragen kann, musste ich in diesen Link wieder die URL-Codierung eintragen:

http://www.tommyherrmanndesign.com/nof/ActionURL-Formular/index.php?geschlecht=Herr&meinvorname=Süßer&meinname=Dödel

 

Die Optionsschaltflächen haben wie immer den gleichen Gruppennamen, hier “geschlecht”, wobei die erste den Wert “Herr” und die zweite den Wert “Frau” hat.

Damit diese Schaltfläche aktiviert wird, benötigen wir eine “IF-Bedingung”, also “wenn” (IF)

geschlecht gleich Herr

dann soll mittels des PHP-ECHO Befehls diese Schaltfläche aktiviert (checked) werden. Dazu markiert Ihr die jeweilige Optionsschaltfläche und klickt im Fenster “Optionsschaltfläche-Eigenschaften” auf den Button “HTML” und fügt das Skript “im Tag” (ab NOF 11 “innen”) ein, hier für Herr...

<?php if($_GET["geschlecht"] == "Herr") {echo "checked";}?>

... und in die HTML der zweiten Optionsschaltfläche dann natürlich Frau.

<?php if($_GET["geschlecht"] == "Frau") {echo "checked";}?>

 

Dem Auswahlfeld habe ich den Namen und die Objekt-ID “land” gegeben und als Namen eben Deutschland mit dem Wert D und Österreich mit dem Wert A hinzugefügt und kein Häkchen bei “Ausgewählt” gesetzt.

Damit eine Länder-Auswahl aktiviert wird, benötigen wir eine “IF-Bedingung”, also “wenn” (IF)

land gleich D

dann soll mittels des PHP-ECHO Befehls diese Schaltfläche ausgewählt (selected) werden. Dazu markiert Ihr dieses Auswahlfeld und klickt im Fenster “Auswahlfeld-Eigenschaften” auf den Button “HTML”.

Dort seht Ihr das von NOF generierte Skript für die Auswahlfelder. Ihr kommentiert nun das gesamte Skript von NOF aus, wie man das macht könnt Ihr hier lesen. Vor dem Tag <!-- und nach dem Tag -->

Jetzt habe ich mein neues Skript, das ich mit den entsprechenden IF-Bedingungen versehen habe,
“vor das Tag” (ab NOF 11 “vorher”) in den Objekt-Editor des Auswahlfeldes kopiert.

<select id="land" name="land" style="height: 24px;">
   <?php
      // Wenn weder D noch A eingegeben wird sollen die Auswahlfelder Deutschland und Österreich angezeigt werden
      if($_GET["land"] <> "D" && $_GET["land"] <> "A" ){
         echo '<option value="D">Deutschland</option>';echo '<option value="A">Österreich</option>';
      }
      // Wenn D eingegeben wird soll das Auswahlfeld Deutschland gewählt sein und Österreich darunter erscheinen
      if($_GET["land"] == "D"){
         echo '<option value="D" selected="selected">Deutschland</option>';echo '<option value="A">Österreich</option>';
      }
      // Wenn A eingegeben wird soll das Auswahlfeld Österreich gewählt sein und Deutschland darunter erscheinen
      if($_GET["land"] == "A"){
         echo '<option value="A" selected="selected">Österreich</option>';echo '<option value="D">Deutschland</option>';
      }
   ?>
</select>

<!-- Beginn Original-Code von NOF auskommentiert

<select id="land" name="land" style="height: 24px;"

>
 <option value="D">Deutschland</option>
 <option value="A">Österreich</option>
</select>

Ende Original-Code von NOF auskommentiert -->

Nun kann ich also auch noch für dieses Auswahlfeld “land” die Aktion

&land=D oder &land=A

mit in die URL eintragen, also z.B.:

http://www.tommyherrmanndesign.com/nof/ActionURL-Formular/index.php?geschlecht=Frau&meinvorname=Susanne&meinname=Mustermann&land=A

nach oben

diese Seite weiter empfehlen



Counter Statistik