daten in DB einfügen und als Email versenden
grisu Pixelschubser Threadstarter
Beiträge: 16
Hallo !
Habe ein kleines Problem ! Ich möchte Formulardaten in eine DB eintragen lassen und gleichzeitig als Email versenden (Gästebuch!). Das mit der Mail Funzt ! -Kein Wunder ich habe als Grundlage für die php-Seite eine PHP-Formmailer benutzt der schon einige Tage bei mir läüft. nun wollte ich noch ein paar Zeilen einfügen damit die Daten in einer DB gespeichert werden
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
//Eintrag in Datenbank
$conn = mysql_connect("[b]meinHost[/b]","[b]meinUser[/b]","[b]meinpasswort[/b]");
mysql_select_db("[b]datenbankname[/b]");
//Daten schreiben
$sql = "INSERT INTO [b]Tabellenname [/b](Datum,Name,Email,Ort,Homepage,Kommentar)";
$sql .= "VALUES '$date','$name','$email','$ort','$homepage','$kommentar')";
$result = mysql_query ($sql, $conn);
//Email an Kontaktadresse
exit;
ELSEIF ($action="Send"):
mail("$kontaktadresse","$betreff", "Gästebucheintrag auf $sitenaddresse \n
Name: $name
aus.....: $ort \n
Email...: $email \n
Gästebucheintrag:
------------------------------------------------------------------------
$kommentar
------------------------------------------------------------------------
Info :
------------------------------------------------------------------------
Mailer: $vers
Benutzter Browser: $HTTP_USER_AGENT
Hostname: $ip
IP Addresse: $REMOTE_ADDR
Datum/Uhrzeit: $date","FROM:$email");
//Automatische Antwort
mail("$email","$Antworttitel", "Sehr geehrte(r) $anrede $name !\n
Wir bedanken uns für Ihren Besuch auf unserer Internetseite und dem damit verbundenen Interesse
an unserer Arbeit.
Mit freundlichen Grüßen
$sitenname
$sitenname2
$sitenaddresse","FROM:$kontaktadresse");
print "";
print " ";
print " ";
print "Vielen Dank! ";
print "";
print "";
print "
";
print "Vielen Dank für Ihren Gästebucheintrag !
";
print "";
ENDIF;
?>
Die Daten für die Datenbankverbindung passen -Habe ich überprüft (Verbindung wird hergestellt!
Auch die Bezeichnungen der Formularfelddaten und der Tabellenzeilen in der DB passen.
Wo liegt der Fehler ? Bin ich blind ?
Als formAction habe ich $php_self eingetragen
Diese Nachricht wurde geändert von: languitar
 Profil
E-Mail
Editieren
Zitieren
chip Foren-Team
Beiträge: 419
Hab den Quellcode noch nicht genau durchgelesen, aber versuchs mal anstatt mit $PHP_SELF mit
$HTTP_SERVER_VARS['PHP_SELF'] bzw. mit
$_SERVER['PHP_SELF'] .
---
 Profil
Website
Editieren
Zitieren
grisu Pixelschubser Threadstarter
Beiträge: 16
Also daran liegt es nicht ! Ffunzt immernoch nicht !
Diese Nachricht wurde geändert von: grisu
 Profil
E-Mail
Editieren
Zitieren
Philipp Gérard Foren-Team
Beiträge: 1502
VALUES ( '$date'
---
Arbeit ist das Feuer der Gestaltung. - Marx
Diese Nachricht wurde geändert von: Philipp Gérard
 Profil
E-Mail
Website
Editieren
Zitieren
grisu Pixelschubser Threadstarter
Beiträge: 16
Ah jetzt ja !
Manchmal sieht man den Wald vor lauter Bäumen nicht !
Der Eintrag wird zumindest jetzt Versucht !
Stehen aber keine Daten drin und das datum ist der 01.01.70 ! (?)
Hab aber glaub einen Lösungsanzatz sollte die variablen noch einmal in kurzfom zwischenspeichern ala;
$url = $HTTP_POST_VARS["......l"];
$hpname = $HTTP_POST_VARS["...."];
$name = $HTTP_POST_VARS["....."];
$banner = $HTTP_POST_VARS["....."];
$beschreibung = $HTTP_POST_VARS["......"];
wenn das nicht funzt melde ich mich nocheinmal!
 Profil
E-Mail
Editieren
Zitieren
Philipp Gérard Foren-Team
Beiträge: 1502
übrigens:
ELSEIF, ENDIF & co. sind ganz übler Codingstil. Benutz lieber:
1:
2:
3:
4:
5:
6:
7:
8:
9: if( $x = TRUE )
{
do();
}
elseif( $y = FALSE )
{
..
---
Arbeit ist das Feuer der Gestaltung. - Marx
 Profil
E-Mail
Website
Editieren
Zitieren
grisu Pixelschubser Threadstarter
Beiträge: 16
So jetzt funktioniert alles !
Besten Dank für Eure Hilfe !!!
Für den ders wissen will, hier der richtige code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
//Trick 17 für PHP Sicherheitseinstellungen
$name = $HTTP_POST_VARS["name"];
$email = $HTTP_POST_VARS["email"];
$ort = $HTTP_POST_VARS["ort"];
$homepage = $HTTP_POST_VARS["homepage"];
$kommentar = $HTTP_POST_VARS["kommentar"];
exit;
ELSEIF ($action="Send"):
//Eintrag in Datenbank
$conn = mysql_connect("mysql.XXXXXX.XY",XXXXXX","XXXXXXXXXX");
mysql_select_db("DB-name");
//Daten schreiben
$sql = "INSERT INTO TABELLENNAME (Datum,Name,Email,Ort,Homepage,Kommentar)";
$sql .= "VALUES ('$date','$name','$email','$ort','$homepage','$kommentar')";
$result = mysql_query ($sql, $conn);
//Email an Kontaktadresse
das mit dem falschen datum hab ich auch gefunden. Ich hatte das Datum im Script als d/m/y formatiert und in der Datenbank-tabelle als y/m/d -> Muss natürlich so eingelesen werden wie es gespeichert werden soll.
Nochmals vielen dank für Eure Hilfe !
Diese Nachricht wurde geändert von: languitar
 Profil
E-Mail
Editieren
Zitieren