Online nieuwsbrief systeem
Kan iemand mij helpen aan een gratis online nieuwsbrief systeem? Ik heb hem namelijk nodig voor mijn website.
Ik heb weinig aan scripts want daar weet ik toch nog te weinig vanaf. Ben het aan het leren though.
Of misschien een kant en klare nieuwsbrief die ik kan editten. want dat kan gedeetelijk wel.
Thanks
http://www.phphulp.nl/php/scripts/1/731/ is misschien iets voor je?
Hoe zit het dan met de velden die in die database staan?
Ben me er vandaag pas in aan het verdiepen.
We hadden al jarenlang de mogelijkheid tot gebruik van eem database bij de provider.
Daar is nooit gebruik van gemaakt, tot op vandaag.
Ik heb de ledenlijst vanuit excel ge-importeerd op de server.
Alle gegevens staan er nu in, dat is nu dus al gelukt.
Nu nog zover komen dat ik die gegevens uit het databestand kan gaan gebruiken voor het versturen van nieuwsbrieven en dergelijke.
het behoefd niet noodzakelijk te zijn dat men zelf zich kan aanmelden en afmelden.
Daarvoor gebruiken we het liefst nog de berichtjes via e-mail.
Zo kunnen we zelf controleren dat iemand niet per ongeluk gaat zitten knoeien.
Laatst zag ik hier wel ergens iets staan (forumvraag??) maar kan dat niet meer terug vinden.
Graag enige begeleiding met het zoeken en eventuele aanbevelingen wat te gaan gebruiken.
( dit script heb ik voor de zekerheid maar alvast gedownload)
Met vriendelijke groet.
Gewijzigd op 06/09/2010 16:48:59 door Piet Marisael
Brief schrijven en onderwerp geven in een formulier:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<form action="" method="post">
<label>Ondewerp:</label>
<input name="onderwerp" type="text" />
<label>Brief:</label>
<textarea name="brief"></textarea>
<input type="submit" value="Verzend nieuwsbrief" />
</form>
<label>Ondewerp:</label>
<input name="onderwerp" type="text" />
<label>Brief:</label>
<textarea name="brief"></textarea>
<input type="submit" value="Verzend nieuwsbrief" />
</form>
Kijken of er is ge-submit:
Code (php)
Kijken of alles is ingevuld
Code (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
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
<?php
# Array aanmaken om errors te voorkomen
$error = array();
# Geen onderwerp
if( !isset( $_POST['onderwerp'] ) )
{
$errors[] = 'Er is geen onderwerp getypt.';
}
# Geen bericht
if( !isset( $_POST['bericht'] ) )
{
$errors[] = 'Er is geen bericht getypt.';
}
# Als er errors zijn deze netjes in een lijst element weergeven
if( !empty( $errors ) )
{
echo '<ul>';
foreach( $errors as $error )
{
echo '<li>'.$error.'</li>';
}
echo '</ul>';
}
else
{
# Zie derest van de uitleg.
}
?>
# Array aanmaken om errors te voorkomen
$error = array();
# Geen onderwerp
if( !isset( $_POST['onderwerp'] ) )
{
$errors[] = 'Er is geen onderwerp getypt.';
}
# Geen bericht
if( !isset( $_POST['bericht'] ) )
{
$errors[] = 'Er is geen bericht getypt.';
}
# Als er errors zijn deze netjes in een lijst element weergeven
if( !empty( $errors ) )
{
echo '<ul>';
foreach( $errors as $error )
{
echo '<li>'.$error.'</li>';
}
echo '</ul>';
}
else
{
# Zie derest van de uitleg.
}
?>
En dan alles uit de database halen en mailen:
Code (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
38
39
40
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
<?php
$qry = "SELECT
e-mail
FROM
gebruikers
WHERE
nieuwsbrief = 'Ja'";
if( $sql = mysql_query( $qry ) )
{
if( mysql_num_rows( $sql ) > 0 )
{
while( $rec = mysql_fetch_assoc( $sql ) )
{
# De Mail funtie
$msg = mail($rec['mail'], $_POST['onderwerp'], $_POST['brief']);
# Mail checken
if($msg)
{
echo 'De nieuwsbrief is succesvol verzonden.';
}
else
{
echo 'Er is een fout opgetreden bij het verzenden van de nieuwsbrief.';
}
}
}
else
{
# Geen items
echo 'Er zijn geen gebruikers gevonden.';
}
}
else
{
# Fout in query
echo 'Er is een fout in de query opgetreden.';
}
?>
$qry = "SELECT
FROM
gebruikers
WHERE
nieuwsbrief = 'Ja'";
if( $sql = mysql_query( $qry ) )
{
if( mysql_num_rows( $sql ) > 0 )
{
while( $rec = mysql_fetch_assoc( $sql ) )
{
# De Mail funtie
$msg = mail($rec['mail'], $_POST['onderwerp'], $_POST['brief']);
# Mail checken
if($msg)
{
echo 'De nieuwsbrief is succesvol verzonden.';
}
else
{
echo 'Er is een fout opgetreden bij het verzenden van de nieuwsbrief.';
}
}
}
else
{
# Geen items
echo 'Er zijn geen gebruikers gevonden.';
}
}
else
{
# Fout in query
echo 'Er is een fout in de query opgetreden.';
}
?>
Hoop dat je hier wat mee kan.
Let op: Dit script is lek en heeft dus nog geen beveiliging tegen mail injection, moet je dus nog even naar kijken!
Wil je weten hoe een bepaalde functie werkt? Kijk dan heel simpel op:
www.php.net/HIERDEFUNCTIE
Voorbeeld:
www.php.net/isset
Gewijzigd op 06/09/2010 21:54:42 door Milo S
Vraag was:
Ik ben ergens een complete beschrijving met listings tegen gekomen om via MySQL nieuwsbrieven te versturen.
Kan die niet meer terug vinden, vergeten te bookmarken.
Weet iemand mij te begeleiden naar zo'n script?
Uiteraard is het aanbevolen dat er een beveiliging tegen mail-injection in zit.
Ondertussen ga ik zelf ook verder zoeken.
Quote:
via MySQL nieuwsbrieven te versturen.
dat MySQL mails stuurt vraag ik me af. Waarschijnlijk bedoel je dat hij de nieuwsbrieven uit de database haalt en daarna verzend in de mail?
EDIT:
Ik lees dit in de MySQL handleiding:
"MySQL doesn't have any native mail functionality"
@milo,
Je mist in je eerste controlle de ! voor isset.
Gewijzigd op 06/09/2010 21:12:31 door Niels K
Maar dat kan toch met mijn script of..? Je kan hem zelfs nog aanpassen dat hij de nieuwsbrieven ook in de db opslaat e.d.
Als je echt snel en een goede nieuwsbriefmodule nodig hebt, kijk dan even hier :
http://www.phplist.com/
Niet echt veilig om zo'n bestandje online te laten staan.
Dus zoek ik een script om de adressen uit MySQL-databestand te halen en daarna te verzenden.
Kan ook een nieuwe topic openen met de vraag wat ik zou moeten veranderen aan het script dat ik al bezit.
Is dat misschien duidelijker om verder te komen?
Ik ben net pas 3 dagen bezig met MySQL, dus weet ik nog niet zo goed hoe op een veilige manier te starten.
De laatste keer dat ik iets met database gedaan heb is nog uit de periode van DBase3.
Heb het idee dat ik wel een beetje achtergrond heb, maar niet genoeg voor MySQL.
Zie verder mijn allereerste reactie in deze topic.
Of kan ik beter de zojuiste genoemde suggestie nemen door een nieuwe topic te openen?