[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:
(1693 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:
(1680 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("meine@mail.ch", "eintrag in db", "bla bla bla", "From: mein@server.ch");

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:
(1670 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("mail@provider.de", "Meldung", "Eine Meldung ist eingegangen", "From: mail@provider.de") ;
}
{
mail("mail@provider.de", "Meldung", "Eine Meldung ist eingegangen", "From: mail@provider.de") ;
}
?>



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:
(1667 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:
(1663 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:
(1657 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:
(1654 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
17.04.2024

Online
Mittwoch, 17. Apr. 2024, 10.00 - 10.30 Uhr

Webinar

Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Günther Business Solutions und Impressed treten in einem Webinar den Gegenbeweis an. Experten beider Unternehmen zeigen, wie Großformatdrucker vom Einsatz zweier bewährter Lösungen profitieren können: • von advanter print+sign von Günther Business Solutions, dem ERP-System für den Großformatdruck, dass alle Phasen der Wertschöpfung im Large Format Printing abdeckt • von Impressed Workflow Server, der smarten PDF-Workflow-Lösung für Druckereien, die Datenmanagement, Preflight und Produktionssteuerung übernimmt Über die Kombination beider Lösungen können Großformatdrucker ihre Prozesse mit modernen Workflows Schritt für Schritt automatisieren – und so zügig deutliche Zeit- und Kosteneinsparungen realisieren. Das Webinar sollten Sie sich nicht entgehen lassen – damit Sie keine Effizienzpotenziale mehr liegen lassen. Melden Sie sich am besten gleich an, wir freuen uns auf Sie! PS: Melden Sie sich in jedem Fall an – sollten Sie zum Termin verhindert sein, erhalten Sie die Aufzeichnung.

kostenlos

Ja

Organisator: Impressed / Günther Business Solutions

https://www.impressed.de/schulung.php?c=sDetail&sid=326

Und es geht doch: Automatisierung im Großformatdruck!