Einfaches PHP Formular das nur ein Feld via E-Mail sendet
Ich hatte schon einiges zum Thema gesucht. Leider ist es an diversen Dingen gescheitert. Zum Beispiel, dass ich die Klasse des Senden Buttons nirgends aus den Tutorials und Online-Beispielen erfolgreich unterbringen kann. Ist das überhaupt möglich?
Hallo,
ich habe folgendes Problem. Eine PHP index Datei mit diesem Code:
Was ich nun eine Weile probiere ist folgendes:
- Prüfung der E-Mail Adresse auf Format
- Absenden der eingegebenen E-Mail Adresse an eine andere.
- Keine Weiterleitung auf eine "Vielen Dank" Seite (einfach reload)
Fragen kostet nichts und sollte ich etwas im Forum/Google übersehen haben bitte den Link schicken. Würde mich aber sehr freuen, wenn es mir vielleicht jemand "vorcoden" würde - habe lange genug probiert und gesucht
THX 4 reading.
Hallo,
ich habe folgendes Problem. Eine PHP index Datei mit diesem Code:
<form action="" id="contacts-form">
<fieldset>
<input type="email" name="email" id="email" value="E-Mail Adresse eingeben..." style="width:73%;float:left;background:#fff;border:1px solid #ccc;border-top:1px solid #bbb;"/>
<a class="newsletter" href="#">senden</a>
</fieldset>
</form>
Was ich nun eine Weile probiere ist folgendes:
- Prüfung der E-Mail Adresse auf Format
- Absenden der eingegebenen E-Mail Adresse an eine andere.
- Keine Weiterleitung auf eine "Vielen Dank" Seite (einfach reload)
Fragen kostet nichts und sollte ich etwas im Forum/Google übersehen haben bitte den Link schicken. Würde mich aber sehr freuen, wenn es mir vielleicht jemand "vorcoden" würde - habe lange genug probiert und gesucht
THX 4 reading.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 204452
Url: https://administrator.de/forum/einfaches-php-formular-das-nur-ein-feld-via-e-mail-sendet-204452.html
Ausgedruckt am: 03.04.2025 um 11:04 Uhr
6 Kommentare
Neuester Kommentar
die Klasse des Senden Buttons
... es handelt sich nicht um einen Button - es ist nur ein Link. Das class Attribut des HTML Elements kann zu Formatierungs- (CSS) oder Javascipt (JS) Zwecken benutzt werden.(ich sehe leider nichts davon in deinem Beispiel Code)
Diese Tatsache und:
<form action="" id="contacts-form">
... lässt mich vermuten, dass der Formular Inhalt mit Javascript ausgelesen und versendet wird. - bitte suche in deinem JS code nach dem Attribut newsletter - dann findest Du ggf. den Code dafür.
Moin,
Oh, ist denn schon wieder Freitag?
Ich befürchte, das Ding landet ganz schnell im never-comeback-container unseres "Nagetieres".
Glaub mir, Du hast ganz andere Probleme.
Für die Aneinandereihung von Buchstaben, Zahlen und Sonderzeichen (Code bzw. Script kann man das wirklich nicht nennen) fehlen Dir sämtliche Grundlagen. Mach Dich erst mal schlau, wie ein Formular in HTML aufgebaut wird und wie die Syntax dazu aussehen muß. Dann kannst Du versuchen, die Eingabe an ein PHP-Script zu übergeben und dort weiter zu verarbeiten.
Kurz und gut: RTFM, z.Bsp. http://de.selfhtml.org.
Gruß J
chem
Oh, ist denn schon wieder Freitag?
Ich befürchte, das Ding landet ganz schnell im never-comeback-container unseres "Nagetieres".
ich habe folgendes Problem.
Glaub mir, Du hast ganz andere Probleme.
Für die Aneinandereihung von Buchstaben, Zahlen und Sonderzeichen (Code bzw. Script kann man das wirklich nicht nennen) fehlen Dir sämtliche Grundlagen. Mach Dich erst mal schlau, wie ein Formular in HTML aufgebaut wird und wie die Syntax dazu aussehen muß. Dann kannst Du versuchen, die Eingabe an ein PHP-Script zu übergeben und dort weiter zu verarbeiten.
Kurz und gut: RTFM, z.Bsp. http://de.selfhtml.org.
Gruß J
Kostenlose, zielführende Hilfe gab es wohl nur früher.
diese gibt es jetzt auch noch - sogar mehr als man braucht: siehe Internet- http://de.selfhtml.org/html/formulare/definieren.htm - HTML - Formular darstellen
- http://php.net/manual/en/function.mail.php - PHP - mail Funktion
- http://www.w3schools.com/js/js_form_validation.asp - Javascipt - Validierung
ich hatte etwas lange weile: 204452.php:
<!DOCTYPE html>
<html>
<head>
<style>
input#email {
width:73%;
float:left;
background:#fff;
border:1px solid #ccc;
border-top:1px solid #bbb;
}
</style>
<script>
window.onload = function() {
document.getElementById('contacts-form').onsubmit = function() {
if (this.elements['email'].value == '') {
alert('Bitte gib eine E-Mail Adresse ein');
return false;
}
return true;
}
}
</script>
</head>
<body>
<?php
if (isset($_POST['actionSend']) && !empty($_POST['actionSend']) && isset($_POST['email'])) {
$to = 'email@domain.tld';
$subject = 'subject';
$message = 'E-Mail: '.$_POST['email'];
mail($to, $subject, $message);
?><div>E-Mail gesendet</div><?php
}
?>
<form method="post" action="" id="contacts-form">
<fieldset>
<input type="email" name="email" id="email" value="" />
<input type="submit" class="newsletter" name="actionSend" value="Senden" />
</fieldset>
</form>
</body>
</html>
Moin,
vielleicht magst Du ja doch noch einmal diesen Text lesen:
Das, was Du gepostet hast, ist (für mich) zunächst mal nur HTML-Text. Und der muß als solcher bestimmten Regeln folgen, als da wären:
"id" ist kein gültiges Attribut zu "form"
"id" ist kein gültiges Attribut zu "input"
"#" als Ziel von "a href" definiert einen Verweis auf sich selbst
Ergo: In diesem Stückchen Code passiert aus HTML-Sicht nichts, da es kein valides HTML ist.
So, wie ich das bisher verstanden habe, möchtest Du ein Formular ausgeben, in welches eine E-Mail-Adresse eingegeben werden kann, die dann über ein PHP-Script (oder per Javascript) auf formal richtigen Inhalt geprüft wird.
Damit das Formular irgendwas an irgendwen "übergeben" kann, muß zunächst mal definiert werden, wie etwas übergeben werden soll und an wen, im Normalfall per "GET" oder "POST" an z. Bsp. ein PHP-Script.
Danach muß aus dem Formular auch tatsächlich etwas übergeben werden, was im Normalfall über einen "Submit-Button" gelöst wird.
Soweit die reine HTML-Seite.
Wie jetzt Dein PHP-Script aussieht, in welches (vermutlich) der HTML-Code eingebettet ist, oder wie Dein Javascript-Code aussieht und welche Definitionen dort getroffen worden sind, darüber schweigst Du Dich aus.
Wie man es lösen könnte (mit JS) hab ich auf die Schnelle hier gefunden
http://www.html-world.de/program/js_e_5.php
Gruß J
chem
vielleicht magst Du ja doch noch einmal diesen Text lesen:
Das, was Du gepostet hast, ist (für mich) zunächst mal nur HTML-Text. Und der muß als solcher bestimmten Regeln folgen, als da wären:
<form action="" id="contacts-form">
bei "form action" sollte schon irgendwas passieren, damit irgendwas übergeben werden kann"id" ist kein gültiges Attribut zu "form"
<fieldset>
notwendig, wenn mehrere Eingabefelder vorhanden sind, aber bei einem?<input type="email" name="email" id="email" value="E-Mail Adresse eingeben..."
"email" ist kein gültiger Wert für "input type""id" ist kein gültiges Attribut zu "input"
style="width:73%;float:left;background:#fff;border:1px solid #ccc;border-top:1px solid #bbb;"/>
das sind alles keine gültigen Attribute zu "input"<a class="newsletter" href="#">senden</a>
die class "newsletter" ist nicht definiert (jedenfalls nicht im vorliegenden Code-Schnipsel)"#" als Ziel von "a href" definiert einen Verweis auf sich selbst
Ergo: In diesem Stückchen Code passiert aus HTML-Sicht nichts, da es kein valides HTML ist.
So, wie ich das bisher verstanden habe, möchtest Du ein Formular ausgeben, in welches eine E-Mail-Adresse eingegeben werden kann, die dann über ein PHP-Script (oder per Javascript) auf formal richtigen Inhalt geprüft wird.
Damit das Formular irgendwas an irgendwen "übergeben" kann, muß zunächst mal definiert werden, wie etwas übergeben werden soll und an wen, im Normalfall per "GET" oder "POST" an z. Bsp. ein PHP-Script.
Danach muß aus dem Formular auch tatsächlich etwas übergeben werden, was im Normalfall über einen "Submit-Button" gelöst wird.
Soweit die reine HTML-Seite.
Wie jetzt Dein PHP-Script aussieht, in welches (vermutlich) der HTML-Code eingebettet ist, oder wie Dein Javascript-Code aussieht und welche Definitionen dort getroffen worden sind, darüber schweigst Du Dich aus.
Wie man es lösen könnte (mit JS) hab ich auf die Schnelle hier gefunden
http://www.html-world.de/program/js_e_5.php
Gruß J