Benachrichtigung nach erfassen eines Datensatzes

Peindlich.

Ich sollte auch die Seite aufrufen die ich bearbeite. Sorry

Aber es ist nun so das ich zwei mails erhalte. im ersten Mail steht in $_POST['ad_vorname'] nichts drin. beim Zweiten zeigt er mir den Vornamen der Person die sich gerade im Formular registriert hat.

Gruss
Phips_CH
 
Ich (und viele andere hier vermutlich auch) kann nicht hellsehen. Kannst du mal den Verarbeitungscode und das Formular in den entsprechenden Code-Tags versehen hier posten?
 
PHP:
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO pobi_adressen (ad_anrede, ad_nachname, ad_vorname, ad_spitzname, ad_benutzername, ad_passwort, ad_adresse, ad_plz, ad_ort, ad_telefon, ad_natel, ad_email, ad_geburtsdatum, ad_instrument, ad_probejahr, ad_eintritt, ad_austritt, ad_Vorstand, ad_bemerkung) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['ad_anrede'], "int"),
                       GetSQLValueString($_POST['ad_nachname'], "text"),
                       GetSQLValueString($_POST['ad_vorname'], "text"),
                       GetSQLValueString($_POST['ad_spitzname'], "text"),
                       GetSQLValueString($_POST['ad_benutzername'], "text"),
                       GetSQLValueString($_POST['ad_passwort'], "text"),
                       GetSQLValueString($_POST['ad_adresse'], "text"),
                       GetSQLValueString($_POST['ad_plz'], "text"),
                       GetSQLValueString($_POST['ad_ort'], "int"),
                       GetSQLValueString($_POST['ad_telefon'], "text"),
                       GetSQLValueString($_POST['ad_natel'], "text"),
                       GetSQLValueString($_POST['ad_email'], "text"),
                       GetSQLValueString($_POST['ad_geburtsdatum'], "date"),
                       GetSQLValueString($_POST['ad_instrument'], "int"),
                       GetSQLValueString($_POST['ad_probejahr'], "date"),
                       GetSQLValueString($_POST['ad_eintritt'], "date"),
                       GetSQLValueString($_POST['ad_austritt'], "date"),
                       GetSQLValueString($_POST['ad_Vorstand'], "int"),
                       GetSQLValueString($_POST['ad_bemerkung'], "text"));

  mysql_select_db($database_PopularisBischofszell, $PopularisBischofszell);
  $Result1 = mysql_query($insertSQL, $PopularisBischofszell) or die(mysql_error());
}


$empfanger = "meine.adresse@domene.ch";
$betreff = "Das ist der Betreff";
$text = "{$_POST['ad_vorname']} hat sich registriert";
$absender = "From:seine.adresse@gmail.com\r\n"; 

mail($empfanger, $betreff, $text, $absender);



Jedesmal wenn ich die Seite im Browser aufrufe, bekomm ich eine E-Mail.
 
Zuletzt bearbeitet:
Wiese erhalte ich beim aufrufen der Seite schon eine E-Mail.
Ich hätte gerne eine Nachricht erhalten wenn jemand einen DB-Eintrag macht. Damit möchte ich eteas den Überblick haben was in der DB steht.

Gruss Phips_CH
 
Weil du das Senden nicht davon abhäng machst, ob ein DB-Eintrag vorgenommen wird oder nicht.

PHP:
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO pobi_adressen (ad_anrede, ad_nachname, ad_vorname, ad_spitzname, ad_benutzername, ad_passwort, ad_adresse, ad_plz, ad_ort, ad_telefon, ad_natel, ad_email, ad_geburtsdatum, ad_instrument, ad_probejahr, ad_eintritt, ad_austritt, ad_Vorstand, ad_bemerkung) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['ad_anrede'], "int"),
                       GetSQLValueString($_POST['ad_nachname'], "text"),
                       GetSQLValueString($_POST['ad_vorname'], "text"),
                       GetSQLValueString($_POST['ad_spitzname'], "text"),
                       GetSQLValueString($_POST['ad_benutzername'], "text"),
                       GetSQLValueString($_POST['ad_passwort'], "text"),
                       GetSQLValueString($_POST['ad_adresse'], "text"),
                       GetSQLValueString($_POST['ad_plz'], "text"),
                       GetSQLValueString($_POST['ad_ort'], "int"),
                       GetSQLValueString($_POST['ad_telefon'], "text"),
                       GetSQLValueString($_POST['ad_natel'], "text"),
                       GetSQLValueString($_POST['ad_email'], "text"),
                       GetSQLValueString($_POST['ad_geburtsdatum'], "date"),
                       GetSQLValueString($_POST['ad_instrument'], "int"),
                       GetSQLValueString($_POST['ad_probejahr'], "date"),
                       GetSQLValueString($_POST['ad_eintritt'], "date"),
                       GetSQLValueString($_POST['ad_austritt'], "date"),
                       GetSQLValueString($_POST['ad_Vorstand'], "int"),
                       GetSQLValueString($_POST['ad_bemerkung'], "text"));

  mysql_select_db($database_PopularisBischofszell, $PopularisBischofszell);
  $Result1 = mysql_query($insertSQL, $PopularisBischofszell) or die(mysql_error());

  if( mysql_affected_rows($Result1) > 0 )
  {
     // Hier Mail senden
  }
}
 
zu früh gefreut.

jetzt erhalte ich beim aufrufen der Seite nicht sofort eine E-Mail.
aber wenn ich einen Datensatz erfassen möchte, erscheint die Fehlermeldung
Warning: mysql_affected_rows() expects parameter 1 to be resource, boolean ...... on line 61

dorst hab ich
PHP:
if( mysql_affected_rows($Result1) > 0 )
drin stehen
Was ist das für ein Fehler?
 
Lass das $Result1 in der Klammer einfach weg. Irrtum meinerseits.

Edit: Nur zur Klärung -

int mysql_affected_rows ([ resource $ Verbindungs-Kennung ] )

Statt der Verbindungskennung wurde das Ergebnis von mysql_query() übergeben, was natürlich nicht stimmen kann.
 
Zurück