Datenbank Eintrag und gleichzeitge E-Mailversendung von Formulareinträgen

White Shark

Grünschnabel
Hi Leute

Beim Betätigen des "Submit Buttons" sollen die Formulardaten in eine mysql-Datenbank eingetragen und die Daten ebenfalls per Mail an mich veschickt werden. Die Datenbankeintragen funzen ja, aber wie baue ich die "gleichzeitige" E-Mail Versendung ein ???

Wer kann mir helfen ??? Vielleicht mit einem kürzel Bsp. ???

CU

White Shark
 
Hi!

Ich würde das ganze so lösen, daß ich alles in eine PHP-Datei packe.
Oben kommt der mysql-Teil hin (kommt gleich), unten machst du mit print"..."; den HTML-Teil, also das Formular, das du mit post an dieselbe php-Datei übermittelst.
Dabei übermittelst du bei der action des Formulars noch eine weitere Variable mit, z.B. voted=yes.

Den oberen mysql-Teil setzt du nun in eine if-Anweisung:
PHP:
if ($voted==yes)
{
...
}

In diese Klammern kommen die Anweisungen, also erstmal zum Eintragen:
PHP:
mysql_query("INSERT INTO (Tabellenname) VALUES ('$a','$b','$c','$d','$e')");

$a bis $e mußt du in deine speziellen Variablen umändern.

Zum e-Mail-Senden fügst du nun noch Folgendes an:
PHP:
mail(deine@email.de,$betreff,$message,$absender);

Als $message kannst du zuvor irgendwas definieren, z.b. einen Text, in dem die von dir ausgesuchten Variablen $a bis $e drin sind.

Wenn du noch Fragen hast, kannst du dich ja einfach an mich wenden!

Gruß
Feldhofe
 
Hi

Danke für den Tip !

Irgentwie funzt es noch nicht (warscheinlich Newbie-Fehler) !
Ich habe den Code mal unten gepostet:

?<php

$db_server = "localhost";
$db_name = "Username";
$db_user = "User";
$db_passwort = "******";

$sqlab = "insert teilnehmer";
$sqlab .= "(name, nick, team,";
$sqlab .= " status,email) values ";
$sqlab .= "('$na', '$ni', '$te', '$st', '$em')";

$betreff = "Die ist ein Test";
$message ="Test Test";

$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort);

if ($anmelden)

{

mysql_db_query("Username", $sqlab);
mail(Test@Test.de,$betreff,$message,$na);

}

<html>

<body>

<form method="POST" action="test.php">
<p><input type="text" name="name" size="20">
<input type="submit" value="Abschicken" name="anmelden"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>

</body>

</html>
 
Zuletzt bearbeitet:
Ich würd das eigentlich eher so machen, daß ich die ganze Connect-Sache in eine eigene Datei schreibe, und die auf den einzelnen Seiten jeweils includen. Das ist übersichtlicher.

Also, was ich an Fehlern auf die Schnelle gesehen habe:

if ($anmelden)
Da muß natürlich etwas dahiner, z.B. if ($anmelden==yes), sonst kann die Bedingung ja nicht erfüllt werden!

Außerdem müssen bei dem Form auf jeden Fall hinter die Pfadangabe noch die Variablen, die übergeben werden sollen.
Das sieht dann so aus: test.php?$variable1&$variable2&$anmelden=yes

Mit dem anmelden=yes ist die if-Bedingung, die ich dir oben genannt habe, erfüllt und der Teil mit dem Mailsenden wird überhaupt erst erfüllt!

Hoffe, es hat dir weitergeholfen,
Gruß
Feldhofe
 
gleich mehreres:

  • mail("Test@Test.de",$betreff,$message,$na);
  • Da du dein Script lokal testest, wird die mail-Funktion natürlich nur funktionieren, wenn du auch n Mailserver bei dir laufen hast ...

Zu Feldhofe:

  • if ($anmelden) sollte auch gehen, dann wird die Anweisung nur ausgeführt, wenn $anmelden == True ist (ist in den meisten (Script-)Sprachen so)
  • Beim Übergeben von Variablen schreibt man die "$" im Regelfall nicht (sollte zwar auch mit gehen, aber...)

so, genug verbessert ;)

b0nzai
 
@bOnzai Hey stimmt, das erste hab ich übersehen! Klar hast du recht, sendmail sollte schon installiert sein... :)
Das mit der Variablenübergabe ist auch interessant, man lernt eben auch selber ständig dazu... :) :)
 

Neue Beiträge

Zurück