Email versende in PHP im background)
Mathias
- php
ich habe eine frage, und zwar habe ich ein Gästebuch geschrieben und das läuft auch alles gut.
Nun möchte ich es so einrichten das ich benachrichtigt werde ( per Email ) wenn jemand in diesem Gästebuch gepostet hat.
Ich habe mir bereits den Befehl für email auf php.net angeschaut. ich hab ihn eingebunden und jetzt sendet mir das Gästebuch
immer wenn jemand die Seite betritt eine achricht. Mein Email Fach dürfte bereits an die 100 Nachrichten enthalten xD
Ich hätte es gerne so das wenn jemand auf den asbchicken button drückt um seine nachricht zu posten eine
mail mit einer automatisch gnerierten Nachricht bei mir im Postfach ankommt.
Hilfe wäre nett ;)
Mahlzeit,
ich habe eine frage, und zwar habe ich ein Gästebuch geschrieben und das läuft auch alles gut.
Das ist doch schon mal was. Dann darf man also davon ausgehen, dass Du Dich mit PHP im Allgemeinen und der Formularverarbeitung im Besonderen auskennst?
Nun möchte ich es so einrichten das ich benachrichtigt werde ( per Email ) wenn jemand in diesem Gästebuch gepostet hat.
Na, das scheint ja kein großes Problem zu sein.
Ich habe mir bereits den Befehl für email auf php.net angeschaut. ich hab ihn eingebunden und jetzt sendet mir das Gästebuch
immer wenn jemand die Seite betritt eine achricht. Mein Email Fach dürfte bereits an die 100 Nachrichten enthalten xD
Naja, wer's braucht ...
Ich hätte es gerne so das wenn jemand auf den asbchicken button drückt um seine nachricht zu posten eine
mail mit einer automatisch gnerierten Nachricht bei mir im Postfach ankommt.
Dann benutze den mail-Befehl doch dort, wo Du ihn haben willst: bei, während oder nach der Verarbeitung des Formulars.
Hilfe wäre nett ;)
Klar. Ein gefülltes Konto auch.
MfG,
EKKi
ja hab ich ja schon allerdings weiß ich nicht an welche Stelle des Scripts ich die Tags legen soll.
Mahlzeit,
ja hab ich ja schon allerdings weiß ich nicht an welche Stelle des Scripts ich die Tags legen soll.
Ich nehme einfach mal an, dass Du mir antworten wolltest: welche Tags?
MfG,
EKKi
welche Tags ? ! ^^ das Frage ich dich ja ...
Also ich weiß nicht an welcher Stelle meines Geästebuchscripts ich den "mail" befehl anbringen kann. weil er mir beim betreten der seie städnig eine email sendet. ich will aber nur eine email empfangen wenn ich auf den button "abschicekn" klicke
welche Tags ? ! ^^ das Frage ich dich ja ...
Also ich weiß nicht an welcher Stelle meines Geästebuchscripts ich den "mail" befehl anbringen kann. weil er mir beim betreten der seie städnig eine email sendet. ich will aber nur eine email empfangen wenn ich auf den button "abschicekn" klicke
dann baus einfach da ein, wo die ausgabeseite erzeugt wird ;) also in die zielseite des formulars bzw in den bereich der verzweigung der den post erzeugt (bei affenformularen)
if ($neuerposterzeugt) {
mail();
}
So hier hab ich jetzt das Script ma reingepackt , vllt kann mir ja einer sagen , wo ich den "mail Befehl positioneren soll " ch verzweifle echt eh. Ich bediene PHP erst seit gestern.
_____________________________________________________________________________________
<html>
<head>
<title>Meerschweinchen.in-Gästebuch</title>
</head>
<body bgcolor="#F0FFF0">
<?php
if($_POST['sent']==1)
{
$_Post['name']=str_replace('~','',strip_tags(trim($_POST['name'])));
$_Post['betreff']=str_replace('~','',strip_tags(trim($_POST['betreff'])));
$_Post['message']=str_replace('~','',strip_tags(trim($_POST['message'])));
If(!$_POST['name']){$fehler.="Bitte geben Sie ihren Namen an <br>";}
If(!$_POST['betreff']){$fehler.="Bitte geben Sie den Betreff an <br>";}
If(!$_POST['message']){$fehler.="Bitte geben Sie eine Nachricht ein <br>";}
if($fehler){$fehler="<h6><font face=arial><font color=red>".$fehler."</font></font></h6>";}
}
if($_POST['name'] AND $_POST['betreff'] AND $_POST['message'])//Formular wurde ausgefüllt
{
//$_POST['message']=nl2br($_POST['message']);
$t1=chr(10);
$t1=chr(13);
$_POST['message']=str_replace($t1,'<br>',$_POST['message']);
$_POST['message']=str_replace($t2,'<br>',$_POST['message']);
$comment=fopen('gast.txt','a');
$ausgabe.="~#name#~".$_POST['name']."~#betreff#~".$_POST['betreff']."~#message#~".$_POST['message']."~#end#~
";
fputs($comment,$ausgabe);
fclose($comment);
$_POST['name']="";
$_POST['betreff']="";
$_POST['message']="";
}
?>
<html>
<head>
<title>Gästebuch</title>
</head>
<body>
<font face="arial"><b><font size=2><align="left"><font color=green></font></font></font></b>
<?php echo$fehler; ?>
<div align="left"><form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="sent" value="1">
<br>
<p><font face=arial><font size=2>Name:</font></font><br>
<input type="text" name="name" size="30" value="<?php echo $_POST['name']; ?>">
<br>
<font face=arial><font size=2>Betreff:</font></font><br>
<input type="text" name="betreff" size="30" value="<?php echo $_POST['betreff']; ?>">
<br>
<font face=arial><font size=2>Nachricht:</font></font><br>
<textarea name="message" rows="10" cols="30" wrap="virtual">
<?php echo $_POST['message']; ?>
</textarea>
</p>
<input type="submit" name="Button" value="abschicken">
</font>
</form>
</div>
<?php
$gast = @file_get_contents("gast.txt");
$gast = preg_replace("/~#name#~/", "<fieldset>\n<legend><b>", $gast);
$gast = preg_replace("/~#betreff#~/", "</b> - ", $gast);
$gast = preg_replace("/~#message#~/", "</legend>\n", $gast);
$gast = utf8_encode("/~#end#~/", "</fieldset>", $gast);
echo $gast;
?>
</body></html>
So hier hab ich jetzt das Script ma reingepackt , vllt kann mir ja einer sagen , wo ich den "mail Befehl positioneren soll " ch verzweifle echt eh. Ich bediene PHP erst seit gestern.
$comment=fopen('gast.txt','a');
irgendwo hier in der nähe scheinen die kommentare in ein textfile geschrieben zu werden, da kannst du dich reinhängen
es ist übrigens empfehlenswert den code zu kommentieren und entsprechend einzurücken - mit kontrollstrukturen wirst du sonst wahnsinnig
für die meisten besseren editoren gibts sogar funktionen, die das einrücken für dich übernehmen
http://de.wikipedia.org/wiki/Einrückungsstil
1tbs oder allman sind wohl am besten geeignet für c-ähnliche sprachen (ich selbst bevorzuge erstere variante weil imho einfacher zu lesen und vor allem kürzer
Mahlzeit,
welche Tags ? ! ^^ das Frage ich dich ja ...
Überhaupt gar keine Tags.
Also ich weiß nicht an welcher Stelle meines Geästebuchscripts ich den "mail" befehl anbringen kann. weil er mir beim betreten der seie städnig eine email sendet. ich will aber nur eine email empfangen wenn ich auf den button "abschicekn" klicke
Mir scheint, meine Vermutungen betreffs Deines Verständnisses von PHP waren wohl doch zu optimistisch. Wenn Du es schaffst, ein Gästebuch zu "schreiben", wieso schaffst Du es dann nicht, in der dortigen Formularverarbeitung (wie könnte jemand sonst einen Eintrag vornehmen?) einfach einen mail-Befehl einzubauen?
Oder hast Du gar geschwindelt und das Gästebuch gar nicht selbst "geschrieben"? Dann sei auch ehrlich und erzähle hier keine Märchen - ansonsten ist es schwer einzuschätzen, wie Dein Kenntnisstand ist(*) und in welcher Form man Dir helfen kann.
Nochmal zum Mitschreiben: ein Eintrag in Deinem Gästebuch kommt vermutlich dadurch zustande, dass irgendjemand ein Formular ausfüllt, dass dann zum Server geschickt wird und dort (per PHP) verarbeitet wird. Wenn die Verarbeitung erfolgreich ist, werden die Daten irgendwo (Datei? Datenbank?) gespeichert. An genau dieser Stelle, wenn also die Verarbeitung erfolgreich war und die Daten gespeichert wurden, musst Du zusätzlich dafür sorgen, dass dann eine Mail an Dich geschickt wird.
(*) Anscheinend nicht sehr hoch, ansonsten würdest Du nicht im Zusammenhang mit PHP von irgendwelchen "Tags" schwadronieren ...
MfG,
EKKi