|
|
|
Newsletter via MySQL
Zurück zur Übersicht Du möchtest ein Newsletter an deine Freunde schicken? Willst aber nur etwas einfaches und nichts ausführliches haben? Dann habe ich genau das richtige für dich.
Hier erkläre ich dir den Aufbau eines Newsletters mithilfe von MySQL und logischerweise auch php. :)
Wir brauchen folgende Datein:
eintragen.html
eintragen.php
newsletter.html
newsletter.php
Außerdem brauchen wir eine Tabelle mit 3 Spalten.
id(int)5, unsigned, auto-increment, Primärschlüssel
name(varchar)255,
email(varchar)255,
Dies wäre nun der Aufbau unserer Tabelle "newsletter".
Nun kommen wir weiter zum aufbau des Formulars zum Eintragen an.
eintragen.html
| Code |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
| <form action="eintragen.php" method="post">
<table align="center" width="400">
<tr>
<th width="40%">Dein Name:</th>
<td width="60%"><input type="text" size="24" name="name" /></td>
</tr><tr>
<th>Deine eMail:</th>
<td><input type="text" size="24" name="email" /></td>
</tr><tr>
<th>Eintragen?:</th>
<td><input type="submit" value="Eintragen" /></td>
</tr>
</table>
</form> |
|
Dies sollte eigentlich kein Problem sein, solch ein Formular zu erstellen. Nun kommen wir zu eintragen.php
eintragen.php
| PHP |
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:
|
<?php
$verbindung = mysql_connect("localhost", "Benutzername" , "Passwort")
or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
mysql_select_db("homepage") or die ("Datenbank konnte nicht ausgewählt werden");
$name = $_POST["name"];
$email = $_POST["email"];
if($name == "" OR $email == "")
{
echo "Eingabefehler. Bitte alle Felder korekt ausfüllen. <a href=\"eintragen.html\">Zurück</a>";
exit;
}
$result = mysql_query("SELECT id FROM newsletter WHERE email LIKE '$email'");
$menge = mysql_num_rows($result);
if($menge == 0)
{
$eintrag = "INSERT INTO newsletter (name, email) VALUES ('$name', '$email')";
$eintragen = mysql_query($eintrag);
if($eintragen == true)
{ echo "Deine eMail-Adresse <b>$email</b> wurde eingetragen."; }
else
{ echo "Es trat ein Fehler beim Speichern deiner eMail-Adresse auf. <a href=\"eintragen.html\">Zurück</a>"; }
}
else
{
echo "Deine eMail-Adresse ist schon vorhanden. <a href=\"eintragen.html\">Zurück</a>";
}
?>
|
|
Auch hier sollten wir mitlerweise fertig sein. Änderungen kann man sicherlich noch vornehmen, zum Beispiel die Überprüfung, ob die eMail-Adresse exestiert, etc. Dazu schau dir die anderen Codeschnipsel von php-einfach.de an.
Nun kommen wir zum Newsletter, welches nur dem Admin der Seite zur Verfügung stehen sollte.
newsletter.html
| Code |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
| <form action="newsletter.php" method="post">
<table align="center" width="400">
<tr>
<th width="40%">Dein Name:</th>
<td width="60%"><input type="text" size="24" name="name" /></td>
</tr><tr>
<th>Deine eMail:</th>
<td><input type="text" size="24" name="email" /></td>
</tr><tr>
<th>Betreff:</th>
<td><input type="text" size="24" name="betreff" /></td>
</tr><tr valign="top">
<th>Inhalt:</th>
<td><textarea id="text" name="nachricht" cols="21" rows="4" wrap="physical"></textarea></td>
</tr><tr>
<th>Absenden?:</th>
<td><input type="submit" value="Newsletter senden" /></td>
</tr>
</table>
</form> |
|
Nun sind wir fertig mit dem Formular, welches wir auch absenden wollen.
Nun kommen wir zur eigentliche Aufgabe bzw. dem eigentlichen Script. Das was ich dir eben gezeigt habe, ist reines HTML. Nun kommt php.
newsletter.php
| PHP |
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:
|
<?php
// Verbindung zur Datenbank aufbauen...
$verbindung = mysql_connect ("Servername",
"Username", "Passwort")
or die ("keine Verbindung möglich.
Benutzername oder Passwort sind falsch");
mysql_select_db("Datenbankenname")
or die ("Die Datenbank existiert nicht.");
// Wenn die Verbindung zur Datenbank besteht, dann können wir uns folgendes mal ansehen...
// Abfrage der Datenbank aufbauen...
// Wenn die Verbindung zur Datenbank besteht, dann können wir nun mit der Abfrage anfangen.
// Sollte die Verbindung nicht bestehen, so musst du die Daten für die Verbindung aktualisieren!
echo "Die eMail wurde an folgende eMail-Adresse gesendet:
<br />
<br />";
// Hier werden die Daten via $_POST an newsletter.php weitergeleitet bzw. empfangen und in eine Variable umgeschrieben.
$name = $_POST["name"];
$email = $_POST["email"];
$betreff = $_POST["betreff"];
$text = $_POST["text"];
// Dies ist nun die Abfrage, womit die Datenbank abgefragt wird.
$abfrage = "SELECT * FROM newsletter";
$ergebnis = mysql_query($abfrage);
while($ausgabe = mysql_fetch_assoc($ergebnis))
{ mail($ausgabe['email'], $betreff, $text, "From: $name <$email>"); }
?>
|
|
So.. das wars ansich auch schon. Mehr ist da nicht. Natürlich kann man dieses jederzeit erweitern, worüber ich mich auch freuen würde. Wenn Fragen hierzu sind, dann stellt sie mir.
Ich habe dieses nicht weiter getestet, sollte aber funktionieren. ;) Wenn nicht, einfach hier schreiben.
Kommentare
Zurück zur Übersicht
Autor Gast
|
|
|
|