ubuntuusers.de

Php Skript um Newsletter einzutragen

Status: Gelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Umsteiger666

Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Hallo,

ich bin auf der Suche nach einem ganz simplen php-Skript. Ich habe google durchforstet und nix gefunden (vielleicht habe ich aber auch einfach falsch gesucht)
Das Skript soll ganz einfach sein und folgendermaßen aussehen:

In den Newsletter eintragen:
Email-Adresse [_______________]
 [abschicken]  [abbrechen]

Wenn jemand seine Email Adresse einträgt soll einfach eine email mit der eingetragenen Adresse an den Webmaster geschickt werden.

Müsste doch eigentlich ganz Simpel sein oder? Hab aber leider kaum Ahnung von php

MFG

Umsteiger

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

Umsteiger666 hat geschrieben:

ich bin auf der Suche nach einem ganz simplen php-Skript. Ich habe google durchforstet und nix gefunden (vielleicht habe ich aber auch einfach falsch gesucht) [...]

http://www.google.de/search?q=newsletter+script+php

Zur Not kannst du dir auch selbst ganz schnell eines Schreiben, das ist ja nun echt kein Aufwand 😉

Umsteiger666

(Themenstarter)
Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Erst mal Danke,

ist aber nicht das wonach ich suche.
Wenn ich da unter google suche finde ich komplette Newsletter Skripte. (Mit Newsletter verwalten schreiben etc.)Ich suche aber auschschließlich so einen kleinen Formmailer.

MFG

Umsteiger

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

Umsteiger666 hat geschrieben:

auschschließlich so einen kleinen Formmailer.

Naja ... Auf die Schnelle und ungetestet:

Datei „verschicken.php“

<?php
  if (isset($_POST['name']) && isset($_POST['nachricht'])) {
    $name = strip_tags($_POST['name']);
    $absender = strip_tags($_POST['absender']);
    $nachricht = strip_tags($_POST['nachricht']);
    mail('empfaenger@example.com', 'Mail von '.$name, $nachricht,'from:'.$absender);
  } else {
      echo 'Bitte Name und Nachricht eingeben';
     }
?>


Ausschnitt aus der Datei „formular.htm“

<form action="verschicken.php" method="post">
 Name: <input type="text" name="absender">
 Mailadresse: <input type="text" name="name">
 Nachricht:<br />
 <textarea cols="80" rows="10" name="nachricht">
 <p />
 <input type="submit" value="Abschicken">
</form>


„Disclaimer“: Bitte nicht verwenden!

Umsteiger666

(Themenstarter)
Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Erst mal wieder dankeschön,

das ist schon eher was ich suche, allerdings möchte ich das ohne die Felder "Name" und "Nachricht" haben, wenn ich diese einfach lösche funktioniert das skript auch nicht mehr.

MFG

Umsteiger

patlkli

Avatar von patlkli

Anmeldungsdatum:
20. April 2006

Beiträge: 646

Dann änderste das halt bissl ab:

mail-senden.php

<?php
  if (isset($_POST['smail']) {
    mail('deine@email.de', 'Newsletter Request from '.$smail);
  } else {
      echo 'Bitte E-Mail-Adresse angeben...';
     }
?>

formular.html

<form action="mail-senden.php" method="post">
 Mailadresse: <input type="text" name="smail">
 <input type="submit" value="Abschicken">
</form>

Ich habs nicht getestet, sollte aber gehen. 😉

jerik

Avatar von jerik

Anmeldungsdatum:
19. August 2006

Beiträge: 425

Das sind eeeeecht basics. Nicht wirklich schwer ... klemm dich mal dahinter.

Gruss – jerik

Umsteiger666

(Themenstarter)
Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Hi, erst mal vielen Dank,

das ist genau wonach ich suche

wenn auf "Abschicken" klicke bekomme ich die Meldung

Parse error: syntax error, unexpected '{' in /users/muck/www/newsletter/mail-senden.php on line 2

MFG

Umsteiger

jerik

Avatar von jerik

Anmeldungsdatum:
19. August 2006

Beiträge: 425

da fehlt ein

)

cheers – jerik

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

jerik hat geschrieben:

da fehlt ein

)

Genau ☺

Stand da auch erst, aber ich hab das Statement noch mal umgeändert, und da hab ich’s dann dummer Weise mitgelöscht ☺

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

patlkli hat geschrieben:

<?php
  if (isset($_POST['smail']) {
    mail('deine@email.de', 'Newsletter Request from '.$smail);
  } else {
      echo 'Bitte E-Mail-Adresse angeben...';
     }
?>

Das wird so unter PHP5 nicht mehr funktionieren, da es $_POST und $_GET nicht mehr automatisch explodet, und $smail deswegen nicht existiert. Außerdem sollte man die usereingaben zumindest vom gröbsten „Schmutz“ reinigen. Außerdem würde ich die Mail selbst etwas anders machen.

<?php
  if (isset($_POST['smail']) {
    $smail = strip_tags($_POST['smail']);
    mail('empfaenger@example.com', 'Newsletter-Request', $smail.' in den Newsletter mit aufnehmen');
  } else {
      echo 'Bitte E-Mail-Adresse angeben...';
     }
?>

Umsteiger666

(Themenstarter)
Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Vielen Dank,

Dirk Sohler hat geschrieben:

patlkli hat geschrieben:

<?php
  if (isset($_POST['smail']) {
    mail('deine@email.de', 'Newsletter Request from '.$smail);
  } else {
      echo 'Bitte E-Mail-Adresse angeben...';
     }
?>

Das wird so unter PHP5 nicht mehr funktionieren, da es $_POST und $_GET nicht mehr automatisch explodet, und $smail deswegen nicht existiert. Außerdem sollte man die usereingaben zumindest vom gröbsten „Schmutz“ reinigen. Außerdem würde ich die Mail selbst etwas anders machen.

<?php
  if (isset($_POST['smail']) {
    $smail = strip_tags($_POST['smail']);
    mail('empfaenger@example.com', 'Newsletter-Request', $smail.' in den Newsletter mit aufnehmen');
  } else {
      echo 'Bitte E-Mail-Adresse angeben...';
     }
?>

dazu jetzt noch ein ")" und es funktioniert genauso wie ich es haben möchte,

ist getestet und funktioniert. Gibt es dazu noch eine Möglichkeit das geprüftg wird ob es sich um eine emailadresse handelt? So kann man ja alles reinschreiben? Ist allerdings nicht so wichtig, funktioniert ja auch so.

MFG

Umsteiger

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

Umsteiger666 hat geschrieben:

dazu jetzt noch ein ")" und es funktioniert genauso wie ich es haben möchte, [...]

Sonst vergesse ich ja immer das Semikolon am Ende *g*

Umsteiger666 hat geschrieben:

Gibt es dazu noch eine Möglichkeit das geprüftg wird ob es sich um eine emailadresse handelt?

Ja, aber ab jetzt machst du das alleine weiter ☺

http://www.google.de/search?q=php+mail+prüfen

Umsteiger666

(Themenstarter)
Avatar von Umsteiger666

Anmeldungsdatum:
26. März 2007

Beiträge: 186

Ja, aber ab jetzt machst du das alleine weiter ☺

Klar,

das ist für mich so schon ein guter Einstieg in PHP,
will ja auch noch was lernen 😉

MFG

Umsteiger

d1rk

Anmeldungsdatum:
5. April 2006

Beiträge: 2420

Umsteiger666 hat geschrieben:

das ist für mich so schon ein guter Einstieg in PHP,
will ja auch noch was lernen 😉

Bei dem Regex-Beispiel, das dir immer wieder begegnen wird, musst du berücksichtigen, dass TLDs mittlerweile nicht nur zwei- oder dreistellig sein können, sondern bis zu sechs-stellig (.museum und .travel), anstatt mit „... {2}“ währst du mit „... {2,6}“ ganz gut ☺

Antworten |