Tutorial

Tutorials von Thomas Frei-Herrmann

Tutorial Formulardaten übergeben

Dieses Beispiel von einer Übergabe von Formulardaten bezieht sich nur von einer zur darauffolgenden Seite, da hier mit den
POST-Variablen des Formulars gearbeitet wird. Ich habe hier als Beispiel lediglich mal zwei Optionsschaltflächen verwendet, das ginge natürlich mit jedem anderen Formular-Feld ebenso. Unten noch eine Erklärung zu der Anzeige auf meiner Erfolgsseite.

Hier habe ich mir auf der Startseite dieses Projektes (hier “Seminar”) ein ganz normales Formular mit zwei Optionsschaltflächen mittels der
Formular-Werkzeuge von NOF erstellt.

Achtet dabei darauf, dass Optionsschaltflächen immer den gleichen “Gruppennamen” erhalten müssen (hier: “MeinSeminar”), als “Wert” gebt Ihr dann den, zu jeder Schaltfläche passenden, zu übermittelnden Text an.

Bei den Schaltfläche-Eigenschaften gebt Ihr bei “Aktion” die Seite mit Eurem Formular an, das verschickt werden soll. In meinem Fall ist das hier meine Seite “Formular”, die sich im Ordner html befindet. Achtet dabei auf die korrekte relative Pfadangabe, hier mit einem Punkt ./, da sich die Optionsschaltflächen ja auf meiner Startseite (“Seminar”) befinden, also:

./html/formular.php

... dann wählt Ihr bei “Methode” > “Verschicken”, nämlich in meinem Beispiel an meine Seite “formular.php”. Die POST-Variablen werden also an diese Seite übergeben (verschickt).

Nun stellt Ihr die Seite “Formular” auf die Dateierweiterung .php um und fügt Ihr dieses kleine Skript in diese aufgerufene Seite “formular.php” ganz oben in die Layout-HTML ein.

> Layout markieren > Fenster “Layout-Eigenschaften” > “Beginn der Seite

<?php
   if(!empty($_POST['MeinSeminar']))
   {
       $Eingabeseminar=htmlentities($_POST['MeinSeminar'],ENT_QUOTES);
       $Warnhinweis="NEIN";
       }else{
       $Warnhinweis="JA";
   }
?>

In diesem PHP-Skript wird mit der IF-Bedingung geguckt, ob die POST-Variable ‘MeinSeminar’ nicht leer ist (!empty). Wenn dies der Fall ist, dann werden mittels des Befehls “htmlentities” eventuelle Sonderzeichen dieser POST-Variable aus Sicherheitsgründen entfernt. Ich setzte dafür eine neue Variable “$Eingabeseminar”. Zusätzlich setze ich noch, weil ich einen Warnhinweis bei direktem Aufruf der Seite
“formular.php” anzeigen wollte, eine zusätzliche Variable “$Warnhinweis”, was Ihr natürlich auch weglassen könntet.

Jetzt erstellt Ihr Euch auf der Seite “formular.php” Euer eigentliches Formular und wählt hier bei “Aktion” wieder (wie gewohnt) das
NOF-eigene Skript zum Mail-Versand > Form Handler (PHP). Als Wert (value) für dieses Eingabefeld gebt Ihr nun die oben in dieser Seite gegründete Variable

$Eingabeseminar

mittels des unten gezeigten PHP-Skripts an. Dadurch wird der Inhalt der POST-Variable dann hier erscheinen.

<?php echo $Eingabeseminar;?>

Wenn Ihr dieses Feld mit der Anzeige des Seminars noch nicht beschreibbar machen wollt, was hier ja Sinn macht, dann müsst Ihr noch den Befehl “readonly” (nur lesen) in die HTML dieses Eingabefeldes einbringen.

> Eingabefeld markieren > Fenster “Eingabefeld-Eigenschaften” > Button “HTML” > “im Tag” (ab NOF 11 “innen”) hinschreiben

readonly

Für meinen Warnhinweis, dass das Feld für das Seminar noch nicht auf der Startseite ausgewählt wurde, habe ich noch ein kleines Skript in ein Textfeld gepackt (was Ihr oben im Screenshot als das kleine T dargestellt seht). Dieses Skript gehört dann in den HTML-Code Editor des Textfeldes.

<?php
   if($Warnhinweis=="JA")
   {
       echo "Bitte zunächst ";
       echo "<a href='../index.html'>Seminar</a>";
       echo " wählen";
   }
?>

Screen-005


Anzeige auf Erfolgsseite

Auf meiner Erfolgsseite “danke.php” habe ich noch eine kleines Skript eingebaut, das einen Link nur dann anzeigt, wenn das Formular auch gesendet wurde. Dies kann sinnvoll sein, wenn man erreichen will, dass ein Benutzer zunächst seine Daten über das Formular senden soll, bevor ihm ein Link angezeigt wird. In meinem Beispiel zu meinem Gästebuch, das könnte jedoch z.B. auch ein Download Link sein.

Hierzu habe ich mir zunächst ein verdecktes Feld im Fenster “Schaltfläche-Eigenschaften” bei “Name” erstellt, das ich “action” genannt habe und das den Wert “send” hat. Das heißt, dass dieses Feld nur existiert, wenn auch der Button “Senden” geklickt wurde.

> unten auf das “+” Zeichen klicken und dieses Feld hinzufügen.

... auf meiner Erfolgsseite “danke.php”, die natürlich dann auch auf die Dateierweiterung .php umgestellt sein muss, habe ich mir dann wieder ein Textfeld aufgezogen und das kleine PHP-Skript unten in den HTML-Code Editor dieses Textfeldes eingefügt.

<?php
   if (isset($_POST['action']) && ($_POST['action']=='send'))
   {
     echo '<a href="http://www.tommyherrmanndesign.com/nof/html/nof-gast.php">Hier geht es zu meinem Gästebuch</a>';
     }else{
       echo "<font color='#FF0000'>";
       echo "kein Link, da Formular nicht gesendet wurde ...";
       echo "</font>";
   }
?>

nach oben

Guckt auch zu diesem Thema hier, für eine Formularwert-Übergabe im MLR (Multi Layout Region).

Viel Erfolg !

diese Seite weiter empfehlen



Counter Statistik