Skript (Kontaktformular) einbauen auf Testseite
Re: Skript (Kontaktformular) einbauen auf Testseite
So sieht das jetzt aus bei mir
Aber ganz ehrlich, jetzt weiß ich überhaupt nicht mehr was los.Gruß
Dieter53
Dieter53
Re: Skript (Kontaktformular) einbauen auf Testseite
Normalerweise erstellt man das Formular mit dem Generator vom Werner. Der liegt beim Tommy auf dem Server.
Hier : https://www.mobirise-tutorials.com/Form ... -Generator
Da erstellt man das Formular nach seinen Wünschen und dann erstellt der Generator den PHP Code, den Du in Mobirise einbindest wie bereits von Dir gemacht.
Zum Thema Weiterleitung:
Das musst Du auch ändern bei $Weiterleitung = index.php auf den Namen des Kontaktformulars - in Deinem Fall dann $Weiterleitung = Kontaktformular.php
Am einfachsten schaust Du Dir mal den Generator an und machst ein neues Formular nach Deinen Wünschen
Hier : https://www.mobirise-tutorials.com/Form ... -Generator
Da erstellt man das Formular nach seinen Wünschen und dann erstellt der Generator den PHP Code, den Du in Mobirise einbindest wie bereits von Dir gemacht.
Zum Thema Weiterleitung:
Das musst Du auch ändern bei $Weiterleitung = index.php auf den Namen des Kontaktformulars - in Deinem Fall dann $Weiterleitung = Kontaktformular.php
Am einfachsten schaust Du Dir mal den Generator an und machst ein neues Formular nach Deinen Wünschen
Gruß Volker
Re: Skript (Kontaktformular) einbauen auf Testseite
Alternativ hier der Code mit Vorname:
Bitte Deine Emailadresse noch einfügen !!!
Bitte Deine Emailadresse noch einfügen !!!
Code: Alles auswählen
<?php
/*
Aktion: Formulardaten als E-Mail versenden.
Formular - PHP 5.4+, Zeichenkodierung: UTF-8
Erstellt mit dem Formular Generator (21.11.2024) -
https://www.mobirise-tutorials.com/Formular-Generator/
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 = "Kontaktformular.php"; // Relativer Pfad, ausgehend vom Formular.
$vorame = isset($_POST["vorame"]) ? htmlspecialchars(trim($_POST["vorame"])) : ""; // Vorame
$name = isset($_POST["name"]) ? htmlspecialchars(trim($_POST["name"])) : ""; // Name
$email = isset($_POST["email"]) ? htmlspecialchars(trim($_POST["email"])) : ""; // E-Mail
$betreff = isset($_POST["betreff"]) ? htmlspecialchars(trim($_POST["betreff"])) : ""; // Betreff
$nachricht = isset($_POST["nachricht"]) ? htmlspecialchars(trim($_POST["nachricht"])) : ""; // Nachricht
$KopieCk = isset($_POST["Kopie"]) ? " checked='checked'" : null; // E-Mail Kopie
// Benutzereingaben überprüfen
// Die Meldungen müssen hier eventuell angepasst werden.
$Fehler = ["vorame"=>"", "name"=>"", "email"=>"", "betreff"=>"", "nachricht"=>"",
"sicherheit"=>""];
if (isset($_POST["submit"])) {
$Fehler["vorame"] = strlen($_POST["vorame"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["name"] = strlen($_POST["name"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["email"] = strlen($_POST["email"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$Fehler["betreff"] = strlen($_POST["betreff"]) < 1 ? " Bitte füllen Sie dieses Feld aus!" : "";
$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 action='" . $_SERVER["SCRIPT_NAME"] . "' method='post'>
<p>
<label> Vorame:
<span class='pflichtfeld'>✲ " . $Fehler["vorame"] . "</span><br>
<input type='text' name='vorame' value='" . $vorame . "' size='35' required='required' tabindex='1'>
</label>
</p>
<p>
<label> Name:
<span class='pflichtfeld'>✲ " . $Fehler["name"] . "</span><br>
<input type='text' name='name' value='" . $name . "' size='35' required='required' tabindex='2'>
</label>
</p>
<p>
<label> E-Mail:
<span class='pflichtfeld'>✲ " . $Fehler["email"] . "</span><br>
<input type='text' name='email' value='" . $email . "' size='35' required='required' tabindex='3'>
</label>
</p>
<p>
<label> Betreff:
<span class='pflichtfeld'>✲ " . $Fehler["betreff"] . "</span><br>
<input type='text' name='betreff' value='" . $betreff . "' size='35' required='required' tabindex='4'>
</label>
</p>
<p>
<label> Nachricht:
<span class='pflichtfeld'>✲ " . $Fehler["nachricht"] . "</span><br>
<textarea name='nachricht' cols='40' rows='8' required='required' tabindex='5'>" . $nachricht . "</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='submit' value='Formular absenden' tabindex='6'>
</p>
<p>
<small>Bitte alle mit <span class='pflichtfeld'>✲</span>
markierten Felder ausfüllen.</small>
</p>
</form>
";
// 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
// Eine beim Provider registrierte E-Mail Adresse verwenden!
$Mailto = "Deine@Email.de";
// Inhalt der E-Mail setzen
$Text = " Gesendet am: $Datum Uhr
Vorame: $vorame
Name: $name
E-Mail: $email
Betreff: $betreff
Nachricht: $nachricht
";
// E-Mail versenden
mb_language("de");
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") .
"<" . $Mailto . ">" . "\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:
Vorame: $vorame
Name: $name
E-Mail: $email
Betreff: $betreff
Nachricht: $nachricht
Mit freundlichen Grüßen
$Signatur
";
// E-Mail Kopie versenden
mb_language("de");
mb_internal_encoding("UTF-8");
$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;
}
?>
Gruß Volker
Re: Skript (Kontaktformular) einbauen auf Testseite
Vielen Dank für die Geduld und die Hilfe.
Das werde ich morgen versuchen umzusetzen.
Für heute ist Schluss.
Gruß
Dieter53
Das werde ich morgen versuchen umzusetzen.
Für heute ist Schluss.
Gruß
Dieter53
Gruß
Dieter53
Dieter53
- Tommy Herrmann
- Site Admin
- Beiträge: 7758
- Registriert: So 6. Dez 2020, 07:37
- Wohnort: Berlin
- Kontaktdaten:
Re: Skript (Kontaktformular) einbauen auf Testseite
Moin Dieter,
also - es wäre natürlich richtiger gewesen, wenn Du Dein Formular nicht von meiner Tutorial-Seite kopierst, sondern es direkt am "Formular-Generator" dann auch selbst und für Deine Zwecke passend erstellst.
Genau diesen PHP-Code, den Du von Meiner Seite kopiert hast, erhältst Du ja entsprechend angepasst dann auf der dritten (letzten) Seite vom Formular-Generator und kannst diesen dort downloaden oder auch kopieren.
Auf jeden Falls solltest Du das mal ausprobieren und üben.
Klicke auf den blauen Button, um den Formular-Generator zu starten:
https://www.mobirise-tutorials.com/Form ... -Generator
Da kann man sonst super schnell einen Fehler machen, wenn man das nachträglich anpassen will.
Im Übrigen speichert der Generator Deine Einstellungen als Cookies ab, sodass Du beim nächsten Besuch vom "Formular-Generator" diese Einstellungen wieder vorfindest, solange Du die Cookies an Deinem Computer im Browser nicht löscht und auch noch nicht zuviel Zeit (mehrere Tage) vergangen sind.
Achte darauf wichtige Felder zu Pflichtfeldern zu machen - Häkchen bei "Pflichtfeld" setzen - das sollten zumindest die Felder "Name" und die "E-Mail Adresse" sowie die "Nachricht" sein.
Gucke Dir auch im Screenshot (unten) mal die von mir verwendeten Optionen an, also was ich da so angehakt habe. Das kann wichtig sein, wie z.B. die Verwendung von "HTML5" und "Bootstrap", damit das nachher auch am Handy gut angezeigt wird. Im Moment ist Dein Formular am Handy nämlich zu breit.
"Bootstrap" ist ein sogenanntes Framework, also eine Sammlung von u.a. bereits vorgefertigten Style-Anweisungen (CSS), die von Mobirise automatisch verwendet werden, denn Mobirise baut auf "Bootstrap" auf. Dann passt das auch gleich automatisch, denn wenn Du "Bootstrap" am Formular-Generator anhakst, dann wird die Bootstrap-Class:
class='form-control'
mit an die Eingabefelder geschrieben, sodass sich diese dann besser an Mobirise anpassen und auch responsive für jedes Display eingestellt werden.
also - es wäre natürlich richtiger gewesen, wenn Du Dein Formular nicht von meiner Tutorial-Seite kopierst, sondern es direkt am "Formular-Generator" dann auch selbst und für Deine Zwecke passend erstellst.
Genau diesen PHP-Code, den Du von Meiner Seite kopiert hast, erhältst Du ja entsprechend angepasst dann auf der dritten (letzten) Seite vom Formular-Generator und kannst diesen dort downloaden oder auch kopieren.
Auf jeden Falls solltest Du das mal ausprobieren und üben.
Klicke auf den blauen Button, um den Formular-Generator zu starten:
https://www.mobirise-tutorials.com/Form ... -Generator
Da kann man sonst super schnell einen Fehler machen, wenn man das nachträglich anpassen will.
Im Übrigen speichert der Generator Deine Einstellungen als Cookies ab, sodass Du beim nächsten Besuch vom "Formular-Generator" diese Einstellungen wieder vorfindest, solange Du die Cookies an Deinem Computer im Browser nicht löscht und auch noch nicht zuviel Zeit (mehrere Tage) vergangen sind.
Achte darauf wichtige Felder zu Pflichtfeldern zu machen - Häkchen bei "Pflichtfeld" setzen - das sollten zumindest die Felder "Name" und die "E-Mail Adresse" sowie die "Nachricht" sein.
Gucke Dir auch im Screenshot (unten) mal die von mir verwendeten Optionen an, also was ich da so angehakt habe. Das kann wichtig sein, wie z.B. die Verwendung von "HTML5" und "Bootstrap", damit das nachher auch am Handy gut angezeigt wird. Im Moment ist Dein Formular am Handy nämlich zu breit.
"Bootstrap" ist ein sogenanntes Framework, also eine Sammlung von u.a. bereits vorgefertigten Style-Anweisungen (CSS), die von Mobirise automatisch verwendet werden, denn Mobirise baut auf "Bootstrap" auf. Dann passt das auch gleich automatisch, denn wenn Du "Bootstrap" am Formular-Generator anhakst, dann wird die Bootstrap-Class:
class='form-control'
mit an die Eingabefelder geschrieben, sodass sich diese dann besser an Mobirise anpassen und auch responsive für jedes Display eingestellt werden.
Wer ist online?
Mitglieder in diesem Forum: Ahrefs [Bot], Amazon [Bot], Bing [Bot] und 4 Gäste