Tutorial Ein- und Ausblenden Script für Formular-Generator - von Werner-Zenk.de.
Hier zeige ich Euch lediglich den Quelltext von diesem Script zum Ein- und Ausblenden meines Feldes “Bewerbung”.
Alle händischen Änderungen am Original Script habe ich hier blau markiert, die sich auf das hinzugefügte JavaScript beziehen.
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title></title>
<style>
body, textarea {
font-family: Verdana, Sans-Serif;
font-size: 14px;
}
span.pflichtfeld {
font-size: 12px;
color: Red;
}
span.hilfetext {
font-size: 10px;
font-style: Oblique;
}
blockquote {
width: 385px;
}
p#bewerbung_anzeigen {
display: None;
}
</style>
<script>
// Tastatureingaben zählen
function CheckLen3() {
document.getElementById("Zeichen3").innerHTML = document.Form.nachricht.value.length;
}
// Tastatureingaben zählen
function CheckLen5() {
document.getElementById("Zeichen5").innerHTML = document.Form.bewerbung.value.length;
}
</script>
<script>
// zusätzliches Skript für das Feld Bewerbung zum Anzeigen oder Ausblenden
function bewerbungCheck() {
if (document.getElementsByName("bewerbung_hinzufuegen")[0].checked) {
document.getElementById("bewerbung_anzeigen").style.display="Block";
}
else {
document.getElementById("bewerbung_anzeigen").style.display="None";
}
}
</script>
</head>
<body>
<?php
/*
Aktion: Formulardaten als E-Mail versenden.
Formular - PHP 5.4+, Zeichenkodierung: UTF-8
Erstellt mit dem Formular Generator (30.06.2016) -
http://www.nof-tutorials.com/Webbausteine-Formular-Generator/formulargenerator.php
Bitte testen Sie das Formular ausführlich und
beachten Sie die Hinweise im Quelltext!
*/
// PHP Fehlermeldungen (1 um das Formular zu testen) anzeigen.
error_reporting(1); // (0/1)
// Weiterleitung - Nach dem absenden des Formulars,
// gelangt der Benutzer über einen Link auf folgende Seite:
$Weiterleitung = "index.php";
$name = isset($_POST["name"]) ? strip_tags(trim($_POST["name"])) : ""; // Name
$email = isset($_POST["email"]) ? strip_tags(trim($_POST["email"])) : ""; // E-Mail
$betreff = isset($_POST["betreff"]) ? strip_tags(trim($_POST["betreff"])) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? strip_tags(trim($_POST["nachricht"])) : ""; // Nachricht
$bewerbung_hinzufuegen = isset($_POST["bewerbung_hinzufuegen"]) ? strip_tags(trim($_POST["bewerbung_hinzufuegen"])) : ""; // Bewerbung hinzufügen
// Radiobutton: Bewerbung hinzufügen
$array = [
"Ja",
"Nein",
];
$bewerbung_hinzufuegenRB = "";
foreach ($array as $key => $value) {
$bewerbung_hinzufuegenRB .= "<label><input type='radio' name='bewerbung_hinzufuegen' onClick='bewerbungCheck()' value='" . $value . "'";
if (isset($_POST["bewerbung_hinzufuegen"])) {
if ($_POST["bewerbung_hinzufuegen"] == $value) {
$bewerbung_hinzufuegenRB .= " checked='checked'";
}
}
else if ($key == 1) { // 0 = Vorauswahl Option 1
$bewerbung_hinzufuegenRB .= " checked='checked'";
}
$bewerbung_hinzufuegenRB .= ">" . $value . "</label> \n ";
}
$bewerbung = isset($_POST["bewerbung"]) ? strip_tags(trim($_POST["bewerbung"])) : ""; // Bewerbung
$KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" : null; // E-Mail Kopie
// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"", "sicherheit"=>""];
if (isset($_POST["submit"])) {
$Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["email"] = filter_var($_POST["email"], FILTER_VALIDATE_EMAIL) === false ? " Geben Sie eine gültige E-Mail-Adresse ein!" : "";
$Fehler["betreff"] = strlen($_POST["betreff"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
$Fehler["nachricht"] = strlen($_POST["nachricht"]) < 10 ? " Bitte füllen Sie dieses Feld aus (min. 10 Zeichen)!" : "";
$Fehler["sicherheit"] = (md5($_POST["zip"]) != $_POST["zip2"]) ? "Die Rechenaufgabe ist leider falsch!" : "";
}
// Sicherheitsabfrage - Rechenaufgabe
$Z0 = [mt_rand(1, 9), mt_rand(1, 9)];
$Z1 = max($Z0); $Z2 = min($Z0);
$Spam = $Z1 . " + &#" . (48 + $Z2) . ";";
$Schutz = md5($Z1 + $Z2);
// Formular erstellen
$Formular = "
<form name='Form' action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>
<h3>Überschrift</h3>
<p>
<label> Name:
<span class='pflichtfeld'>✲ " . $Fehler["name"] . "</span><br>
<input type='text' name='name' value='" . $name . "' size='35' required='required' placeholder='Pflichtfeld'>
</label>
</p>
<p>
<label> E-Mail:
<span class='pflichtfeld'>✲ " . $Fehler["email"] . "</span><br>
<input type='email' name='email' value='" . $email . "' size='35' required='required' placeholder='Pflichtfeld'>
</label>
</p>
<p>
<label> Betreff:
<span class='pflichtfeld'>✲ " . $Fehler["betreff"] . "</span><br>
<input type='text' name='betreff' value='" . $betreff . "' size='35' required='required' placeholder='Bitte mindestens 10 Zeichen'>
</label>
</p>
<p>
<label> Nachricht:
<span class='pflichtfeld'>✲ " . $Fehler["nachricht"] . "</span><br>
<small><strong id='Zeichen3'>0</strong> Zeichen</small><br>
<textarea name='nachricht' cols='40' rows='8' required='required' onKeyUp='CheckLen3()'>" . $nachricht . "</textarea>
</label>
</p>
<p>
Bewerbung hinzufügen:
<br>
" . $bewerbung_hinzufuegenRB . "
</p>
<p id='bewerbung_anzeigen'>
<label> Bewerbung:<br>
<small><strong id='Zeichen5'>0</strong> Zeichen</small><br>
<textarea name='bewerbung' cols='40' rows='8' onKeyUp='CheckLen5()'>" . $bewerbung . "</textarea>
</label>
</p>
<p>
<label>
<input type='checkbox' name='Kopie'" . $KopieCk . ">
Eine Kopie dieser Nachricht an meine E-Mail Adresse
</label>
</p>
<p>
<label> Sicherheitsabfrage:
<span class='pflichtfeld'>✲ " . $Fehler["sicherheit"] . "</span><br>
<em>" . $Spam . "</em> =
<input type='text' name='zip' size='4' pattern='[0-9]{1,2}' required='required' autocomplete='off'>
</label>
<input type='hidden' name='zip2' value='" . $Schutz . "'>
<br><span class='hilfetext'> Bitte lösen Sie die Rechenaufgabe. </span><br>
</p>
<p>
<br>
<input type='submit' name='vorschau' value='Vorschau' formnovalidate='formnovalidate'> -
<input type='submit' name='submit' value='Formular absenden'>
</p>
<p>
<small>Bitte alle mit <span class='pflichtfeld'>✲</span>
markierten Felder ausfüllen.</small>
</p>
</form>
<script>CheckLen3();CheckLen5();</script>
";
// Vorschau
if (isset($_POST["vorschau"])) {
echo strip_tags("<blockquote>
<h4>Vorschau</h4>
<b>Name:</b> $name <br>
<b>E-Mail:</b> $email <br>
<b>Betreff:</b> $betreff <br>
<b>Nachricht:</b> <br>" . nl2br($nachricht) . " <br>
<b>Bewerbung hinzufügen:</b> $bewerbung_hinzufuegen <br>
<b>Bewerbung:</b> <br>" . nl2br($bewerbung) . "
</blockquote>", "<blockquote><h4><b><br>");
}
// Formular abgesendet
if (isset($_POST["submit"])) {
// Sind keine Benutzer-Eingabefehler vorhanden
if (implode("", $Fehler) == "") {
// Daten als E-Mail versenden (Vorschlag) - Bitte anpassen!
// Zeitzone und das aktuelle Datum setzen
// http://de3.php.net/manual/de/timezones.europe.php
date_default_timezone_set("Europe/Berlin");
$Datum = date("d.m.Y H:i");
// Empfänger E-Mail
$Mailto = "name@example.com";
// Inhalt der E-Mail setzen
$Text = " Gesendet am: $Datum Uhr
Name: $name
E-Mail: $email
Betreff: $betreff
Nachricht: $nachricht
Bewerbung hinzufügen: $bewerbung_hinzufuegen
Bewerbung: $bewerbung
";
// E-Mail versenden
mb_internal_encoding("UTF-8");
$Betreff = mb_encode_mimeheader($betreff, "UTF-8", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($name, "UTF-8", "Q") .
"<" . $email . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
if (mail($Mailto, $Betreff, $Text, $Kopfzeile)) {
echo "<p>Vielen Dank, die Nachricht wurde versendet.</p>";
}
else {
// Wenn die Daten nicht versendet werden konnten,
// wird die E-Mail-Adresse für den direkten Kontakt eingeblendet.
echo "<p>Beim Senden der Nachricht ist ein Fehler aufgetreten!<br>" .
"Bitte wenden Sie sich direkt an: <a href='mailto:" . $Mailto . "'>" . $Mailto . "</a></p>";
}
// E-Mail Kopie versenden (Vorschlag) - Bitte anpassen!
if (isset($_POST["Kopie"])) {
// Diese Nachricht wird an die E-Mail-Adresse des Besuchers gesendet.
// Name/Signatur
$Signatur = "";
// Betreff
$Betreff = "Kopie einer Nachricht";
// Inhalt der E-Mail setzen
$Text = " Vielen Dank für Ihren Besuch bei ...
Wir haben folgende Nachricht erhalten:
Name: $name
E-Mail: $email
Betreff: $betreff
Nachricht: $nachricht
Bewerbung hinzufügen: $bewerbung_hinzufuegen
Bewerbung: $bewerbung
Mit freundlichen Grüßen
$Signatur
";
// E-Mail Kopie versenden
$Betreff = mb_encode_mimeheader($Betreff, "UTF-8", "Q");
$Kopfzeile = "MIME-Version: 1.0;\nFrom: " . mb_encode_mimeheader($Signatur, "UTF-8", "Q") .
"<" . $Mailto . ">" . "\nContent-Type: text/plain; Charset=UTF-8;\n";
if (mail($email, $Betreff, $Text, $Kopfzeile)) {
echo "<p>Sie erhalten eine Kopie der Nachricht an Ihre E-Mail-Adresse.</p>";
}
}
// Weiterleitung
echo "<p><a href='" . $Weiterleitung . "' target='_top'>Weiter</a></p>";
}
else {
// Formular und Benutzer-Eingabefehler ausgeben
echo $Formular;
}
}
else {
// Formular ausgeben
echo $Formular;
}
?>
</body>
</html>