[GastForen Programmierung/Entwicklung PHP und MySQL Email-Nachricht bei Neueintrag in mySQL-Tabelle

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Email-Nachricht bei Neueintrag in mySQL-Tabelle

loethelm
Beiträge gesamt: 6029

31. Mai 2006, 12:33
Beitrag # 1 von 7
Bewertung:
(1634 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

gibt es eine einfache Möglichkeit folgendes zu realisieren?

Formular. Absenden bewirkt Eintrag der Daten in eine mySQL-Tabelle. Um die Daten abzurufen habe ich eine passwort-geschützte Seite erstellt, damit ich nicht immer phpMyAdmin bemühen muss.

Nun möchte ich gern per Email benachrichtigt werden, wenn ein Eintrag in die Tabelle erfolgt ist, damit ich nicht ständig nachschauen muss. Per Google findet man nur Gästebücher wenn man nach Emailbenachrichtigung in Verbindung mit mySQL sucht.
X

Email-Nachricht bei Neueintrag in mySQL-Tabelle

jrandi
Beiträge gesamt: 794

31. Mai 2006, 13:23
Beitrag # 2 von 7
Beitrag ID: #232129
Bewertung:
(1621 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

das kannst du relatif einfach manuel coden.

das formular wird ja mittels php verarbeitet. Nachdem also der Eintrag in die DB geschrieben worden ist. hängst du folgende zeile an

mail("$email", "$sujet", "$texte", "From: $site_email");
oder
mail("[email protected]", "eintrag in db", "bla bla bla", "From: [email protected]");

kanst auch gleich per mail schicken lassen welche daten. die variablen hast du ja.
und du kannst auch überprüfen, ob die query ausgeführt wurde

if ($query) {
mail(. . . . )
}

gruss
jurg


als Antwort auf: [#232099]

Email-Nachricht bei Neueintrag in mySQL-Tabelle

loethelm
Beiträge gesamt: 6029

1. Jun 2006, 10:01
Beitrag # 3 von 7
Beitrag ID: #232312
Bewertung:
(1611 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Jurg,

danke dir aber: ich habe jetzt die Mailfunktion hinter die Funktion zum Tabelleneintrag gesetzt.

Das ganze doppelt, weil 2 Leute eine Benachrichtigung benötigen.

Jetzt wird natürlich auch eine Mail versandt, wenn nichts eingetragen wurde, weil ein Feld leer blieb. Wie funktioniert das mit der if ($query) geschichte? Ich weiß nicht, welches query ich da abfragen soll.

Ich häng mal den Code an

Code
 
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}

$editFormAction = $HTTP_SERVER_VARS['PHP_SELF'];
if (isset($HTTP_SERVER_VARS['QUERY_STRING'])) {
$editFormAction .= "?" . $HTTP_SERVER_VARS['QUERY_STRING'];
}

if ((isset($HTTP_POST_VARS["MM_insert"])) && ($HTTP_POST_VARS["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO turnieranmeldungen (name, vorname, strasse, plz, ort, telefon, handynr, mail, verein, verband, rlplatz, idnr, sex, ak, kto, blz, bank, inh) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
GetSQLValueString($HTTP_POST_VARS['name'], "text"),
GetSQLValueString($HTTP_POST_VARS['vorname'], "text"),
GetSQLValueString($HTTP_POST_VARS['strasse'], "text"),
GetSQLValueString($HTTP_POST_VARS['plz'], "text"),
GetSQLValueString($HTTP_POST_VARS['ort'], "text"),
GetSQLValueString($HTTP_POST_VARS['telefon'], "text"),
GetSQLValueString($HTTP_POST_VARS['handynr'], "text"),
GetSQLValueString($HTTP_POST_VARS['mail'], "text"),
GetSQLValueString($HTTP_POST_VARS['verein'], "text"),
GetSQLValueString($HTTP_POST_VARS['verband'], "text"),
GetSQLValueString($HTTP_POST_VARS['rlplatz'], "text"),
GetSQLValueString($HTTP_POST_VARS['idnr'], "text"),
GetSQLValueString($HTTP_POST_VARS['sex'], "text"),
GetSQLValueString($HTTP_POST_VARS['ak'], "text"),
GetSQLValueString($HTTP_POST_VARS['kto'], "text"),
GetSQLValueString($HTTP_POST_VARS['blz'], "text"),
GetSQLValueString($HTTP_POST_VARS['bank'], "text"),
GetSQLValueString($HTTP_POST_VARS['inh'], "text"));

mysql_select_db($database_xx, $dbxx;
$Result1 = mysql_query($insertSQL, $dbxx) or die(mysql_error());
}
{
mail("[email protected]", "Meldung", "Eine Meldung ist eingegangen", "From: [email protected]") ;
}
{
mail("[email protected]", "Meldung", "Eine Meldung ist eingegangen", "From: [email protected]") ;
}
?>



als Antwort auf: [#232129]

Email-Nachricht bei Neueintrag in mySQL-Tabelle

jrandi
Beiträge gesamt: 794

1. Jun 2006, 11:44
Beitrag # 4 von 7
Beitrag ID: #232356
Bewertung:
(1608 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo Loethelm

in deinem falle wäre das

if ($result1) {
mail ("1email-adresse,2email-adresse", "meldung" etc
}

allerdings ohne gewähr, ob da keine mails abgeschickt werden, wenn formular nicht richtig ausgefüllt ist. da muss ich passen, verstehe deine überprüfung nicht ganz (auch wenn sicher richtig). ich mache dies jeweils so :

$name = $_POST["name"]; // etc alle var zurückholen

if ($name=="" || $email=="" || $vorname=="" || $plz=="") {
header ("location: fehler.php");
exit;
}
und noch ein paar weitere überprüfungen, Oesi hat das ja bereits umfassend festgehalten
http://www.hilfdirselbst.ch/foren/Wie_kann_ich_effektiv_Formularspam_verhindern_P215882.html?sb=post_latest_reply;so=ASC;forum_view=forum_view_collapsed;;page=unread#unread

somit wird weder in die DB geschrieben, noch ein mail versandt. der User wird auf eine "fehlerseite geleitet und aufgefordert, alle pflichtfelder auszufüllen.

gruss
jurg


als Antwort auf: [#232312]

Email-Nachricht bei Neueintrag in mySQL-Tabelle

loethelm
Beiträge gesamt: 6029

1. Jun 2006, 12:32
Beitrag # 5 von 7
Beitrag ID: #232373
Bewertung:
(1604 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi Jurg,

funktioniert perfekt. Vielen Dank.
Was jetzt noch nicht geht ist eine Weiterleitung auf eine Danke-Seite. Wenn ich die per Javascript auf den Formular-Button lege, wird wieder nichts in die DB eingetragen.

Per PHP geht das wie? Ich les da immer was über header-Probleme, die es bei mir sicherlich geben wird, da ich ja vorab schon Sachen sende. Hast du da auch noch ne schlaue Idee zu? ;-)

Oder könnte das gehen mit sowas wie

Code
if ($result1) {  
mail ("1email-adresse,2email-adresse", "meldung" etc ;
echo "<meta http-equiv="refresh" content="0;url=http://meinedomain.de/dankeseite.html">
}



als Antwort auf: [#232356]

Email-Nachricht bei Neueintrag in mySQL-Tabelle

jrandi
Beiträge gesamt: 794

1. Jun 2006, 12:53
Beitrag # 6 von 7
Beitrag ID: #232384
Bewertung:
(1598 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hallo,

müsste man ausprobieren, sieht nicht schlecht aus.

was sicher geht :

if ($result1) {
mail ("1email-adresse,2email-adresse", "meldung" etc
header ("location: danke.html");
exit;
}

gruss
jurg


als Antwort auf: [#232373]

Email-Nachricht bei Neueintrag in mySQL-Tabelle

loethelm
Beiträge gesamt: 6029

1. Jun 2006, 13:00
Beitrag # 7 von 7
Beitrag ID: #232386
Bewertung:
(1595 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hi,

deine Variante funktioniert perfekt. Meine nicht, warum auch immer. Aber jetzt hab ich alles, was ich brauche. Vielen Dank.


als Antwort auf: [#232384]
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/