Benachrichtigung nach erfassen eines Datensatzes

Phips_CH

Mitglied
Hallo

Ich möchte eine E-Mail erhalten sobald jemand über ein Formular einen Datensatz erfasst und diesen in meine mySQL Datenbank schreibt.

Ist dies möglich?

Gruss
Phips_CH
 
Ja.

Einfach per [phpf]if[/phpf]-Konstrukt prüfen ob das Query erfolgreich war, falls ja, per [phpf]mail[/phpf] eine E-Mail schicken.
 
klappt nicht so richtig.

den Datensatz schreit der Code in die Datenbank. aber ein Mail erhalte ich nicht.
dies aber auch nur wenn ich mail("meine@adresse.ch"); eingebe.

Lass ich die anführungszeichen weg und Seite auf den Server lade, bleit die Seite ohne Fehlermeldung weiss.

Ich erstelle den PHP-Code mir Dreamweaver.
 
Schreib mal in die erste Zeile deines Scriptes diese Zeilen:

PHP:
error_reporting(E_ALL|E_STRICT);
ini_set('display_errors', 1);
 
das erscheint im Browser:

Notice: Undefined index: txtJahresprogramm in /volume1/web/termineinfuegen.php on line 54 Notice: Undefined index: txtFasnachtsprogramm in /volume1/web/termineinfuegen.php on line 55 Warning: mail() expects at least 3 parameters, 1 given in /volume1/web/termineinfuegen.php on line 61

Sagt dir das etwas?
 
Ja, das sagt mir was:

- Du verwendest ein Feld aus $_GET/$_POST mit dem Namen txtJahresprogramm, welches nicht existiert (nicht Teil des Formulars, was abgesendet wurde)
- Du verwendest ein Feld aus $_GET/$_POST mit dem Namen txtFasnachtsprogramm, welches nicht existiert (nicht Teil des Formulars, was abgesendet wurde)
- Du hast nur einen Parameter an die Funktion mail() übergeben, es werden aber mindestens 3 erwartet (Doku zu mail lesen: http://php.net/manual/de/function.mail.php)
 
Die letzte Zeile sagt, dass Du an die mail()-Funktion falsch aufgerufen hast. Schau nochmal genau ins Manual ;)
 
vielen Dank. nun funktioniert es auch.

kann ich denn auch gleich den Namen der in einem der Formularfeldern steht als E-Mailtext verwenden?

mit folgendem Code geht es eben nicht.

<?php
$empfanger = "email@domain.com";
$betreff = "neuer Datensatz wurde eigetragen";
$text = "$_POST['ad_vorname'] hat sich registriert";

mail($empfanger, $betreff, $text);
?>


Gruss Phips_CH
 
Bitte, bitte den Code in Zukunft in [PHP]mein Code[/PHP] setzen

Was heisst 'geht nicht'? Fehlermeldung?
ev. exisitert $_POST['ad_vorname'] nicht?

Auf alle Fälle solltest du den String anderst zusammensetzen. Ansonsten bekommst du so ein Fehler
Code:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in ...
PHP:
$text = $_POST['ad_vorname']." hat sich registriert";
//oder
$text = "{$_POST['ad_vorname']} hat sich registriert";
 
Keine Fehlermeldung.
trotz der Anweisung in der ersten Zeile.

In der DB ist der Datensatz danach. Aber das Mail bleibt aus. selbst wenn ich bei Text den Feldeintrag weglasse und durch einen einfachen Text ersetzte.

In einem Formular get es. Nun möchte ich in einem weiteren Formular die selbe Funktion.
Ich möchte aber ür jeden Eintag in die DB ein Mail erhalten.
 
Zurück