Ik heb op heel korte termijn de hulp van jullie nodig :-)
Vanwege die nieuwe telecomwet moeten mensen toestemming geven voordat ze een nieuwsbrief o.i.d. kunnen ontvangen. Ik heb ruim 500 adressen op een lijst staan, die nu allemaal toestemming moeten geven.
Ik ben aan het bedenken hoe ik dit het beste aan kan pakken. Ik kreeg vandaag een mailtje met een heel mooie manier. In de mail staan twee links:
1) Ik ga niet akkoord
2) Ik ga wel akkoord
Als je op de eerste link klikt, dan moet het e-mailadres van de geadresseerde inclusief het woordje 'AKKOORD' o.i.d. in een databas worden gezet. Klik je op de tweede link, dan moet het e-mailadres met het woordje 'NIETAKKOORD' in een database worden gezet.
Ik kan die 500 personen automatisch een persoonlijke mail sturen en daarin velden 'mergen'. Dus ik kan daar ook een link inzetten die per persoon verschilt qua e-mailadres.
Het enige waar ik dus naar op zoek ben, is een link/script/code waarbij bovenstaand in een database komt. Het mag heel simpel en eenvoudig zijn.
Is zoiets mogelijk om te maken? En kan dat nog vandaag :-). De mail moet ik uiterlijk morgen versturen, want daarna is het 1 oktober. :-)
Ik weet overigens niet al te veel van databases en dergelijke. Dus het liefst kant-en-klare codes :-).
Dat wil ik dus. Maar... welke code zet ik op die pagina? En op welke link moeten ze klikken? Ik snap dat ik ook zelf aan de slag moet om het uit te zoeken, maar ik weet alleen de basis en kan niet meer aanleren in een dag :-). Bij de scripts op deze site kon ik niet de goede vinden, maar misschien keek ik er overheen.
Je moet er wel nog het database gedeelte inbouwen.
<?php
#| Set " $error_log " array voor het opslaan van de errors.
$error_log = array();
#| Set " $output_message " variable voor het weergeven van het resultaat.
$output_message = '';
#| Controleren of er een aanvraag is.
if(isset($_GET['email']) and isset($_GET['keuze']))
{
#| Email controleren.
if(preg_match("/^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$/i", $_GET['email']))
{
$error_log[] = 'Ongeldig email adres.';
}
#| Keuze controleren.
if(ctype_digit($_GET['keuze']))
{
if($_GET['keuze'] < 1 or $_GET['keuze'] > 2)
{
$error_log[] = 'Ongeldige keuze, 1 staat voor " Ik ga akkoord " en 2 staat voor " Ik ga niet akkoord ".';
}
}
else
{
$error_log[] = 'Ongeldige keuze.';
}
#| Controleren of " $error_log " leeg is.
if(count($error_log) == 0)
{
#| Database update voor als de persoon in kwestie akkoord gaat.
if($_GET['keuze'] == 1)
{
// Database update.
$output_message = 'Uw keuze is opgeslagen, Bedankt voor het geven van toestemming voor het ontvangen van onze nieuwsbrief.';
}
#| Database update voor als de persoon in kwestie niet akkoord gaat.
if($_GET['keuze'] == 2)
{
// Database update.
$output_message = 'Uw keuze is opgeslagen, U zult van nu af aan geen nieuwsbrief meer ontvangen.';
}
}
}
?>
De tabel met de e-mailadressen moet een extra kolom 'actief' of iets dergelijks. Standaard staat deze op 0, nee, false of whatever. Bij het updaten zet je die kolom naar 1, ja, true of iets anders. Bij het versturen lees je alle adressen uit die de kolom op 1, ja, true of iets anders hebben staan.
Dan stuur je ook niet naar de mensen die niet reageren op die mail.
Offtopic:
Krijg de laatste weken echt tientallen van die mails op mijn info-account. Allerlei bedrijven die snel nog even bij de KvK gegevens inkopen en dan een mail sturen dat ik al lange tijd hun nieuwsbrief ontvang. Achterlijke apen. :)
Kreeg er ook een dat als ik niet op afmelden / nee klik dat ze dat zien als opt-in. Komt een beetje overeen met de UPC-praktijken van een paar jaar terug. 'Hier heeft u een mediabox. stuurt u hem niet (op tijd) terug, dan zit u vast aan een abonnement.'
Ik hoop dat die wetgeving streng gecontroleerd wordt en ook dat de OPTA (die gaat het neem ik aan controleren?) serieus op klachten reageert. Dan wordt ik vaste klant klager ... :)
Het is gelukt! Niet op de manier zoals ik hierboven vroeg, maar op een andere - simpele en niet echt veilige - manier. De ingevulde gegevens worden simpelweg in een tekstbestandje gezet.
De ontvangers van de nieuwsbrief moeten naar een pagina gaan waar deze code staat: