Informatie wegschrijven in database via druk op een link
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 :-).
Alvast ontzettend bedankt!
Gewoon doorlinken naar een pagina en daar dmv een database verbinding akkoord er in zetten? Eventueel het e-mail adres als $_GET meegeven.
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.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
<?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.';
}
}
}
?>
#| 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.';
}
}
}
?>
Thanks! En hoe doe ik dat? :-)
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
De ontvangers van de nieuwsbrief moeten naar een pagina gaan waar deze code staat:
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
41
42
43
44
45
46
47
48
49
50
51
52
53
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
41
42
43
44
45
46
47
48
49
50
51
52
53
<html>
<head>
<script>
function checkform() {
if (document.feedback.n.value == '') {
alert('Gelieve uw naam invullen');
return false;
}
else if (document.feedback.e.value == '') {
alert('Gelieve uw e-mailadres invullen');
return false;
}
return true;
}
</script>
<body>
<center>
<font style='font-family: Trebuchet MS'>
<TABLE width=600>
<TR><TD>
<p>
Tekst
</p>
<font>
</TD></TR>
</TABLE>
<form form name='feedback' action='gelukt.php' method='POST' onSubmit='return checkform()'>
<input type='hidden' name='Id' value='2'>
<table width=500>
<tr><td width=50%>
Naam:</font> </td><td width=50%><input type='text' name='n' size='60' maxlength='60' style='font-family: Trebuchet MS; font-size: 10pt; color : #333333; border: 1 solid #000000'><br></td>
</tr>
<tr><td width=50%>
E-mail:</font> </td><td width=50%><input type='text' name='e' size='60' maxlength='60' style='font-family: Trebuchet MS; font-size: 10pt; color : #333333; border: 1 solid #000000'><br></td>
<br>
</table>
<p>
<input type='submit' value='Aanmelden voor de nieuwsbrief' name='B1' style='font-family: Trebuchet MS; font-size: 10pt; background-color: #FFFFFF;'>
<input type='reset' value='Invoer wissen' name='B2' style='font-family: Trebuchet MS; font-size: 10pt; background-color: #FFFFFF;'>
</p>
</form>
</body>
</center>
</html>
<head>
<script>
function checkform() {
if (document.feedback.n.value == '') {
alert('Gelieve uw naam invullen');
return false;
}
else if (document.feedback.e.value == '') {
alert('Gelieve uw e-mailadres invullen');
return false;
}
return true;
}
</script>
<body>
<center>
<font style='font-family: Trebuchet MS'>
<TABLE width=600>
<TR><TD>
<p>
Tekst
</p>
<font>
</TD></TR>
</TABLE>
<form form name='feedback' action='gelukt.php' method='POST' onSubmit='return checkform()'>
<input type='hidden' name='Id' value='2'>
<table width=500>
<tr><td width=50%>
Naam:</font> </td><td width=50%><input type='text' name='n' size='60' maxlength='60' style='font-family: Trebuchet MS; font-size: 10pt; color : #333333; border: 1 solid #000000'><br></td>
</tr>
<tr><td width=50%>
E-mail:</font> </td><td width=50%><input type='text' name='e' size='60' maxlength='60' style='font-family: Trebuchet MS; font-size: 10pt; color : #333333; border: 1 solid #000000'><br></td>
<br>
</table>
<p>
<input type='submit' value='Aanmelden voor de nieuwsbrief' name='B1' style='font-family: Trebuchet MS; font-size: 10pt; background-color: #FFFFFF;'>
<input type='reset' value='Invoer wissen' name='B2' style='font-family: Trebuchet MS; font-size: 10pt; background-color: #FFFFFF;'>
</p>
</form>
</body>
</center>
</html>
Ze krijgen daarna een melding dat het geluk is. De code daarvoor is:
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
41
42
43
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
41
42
43
<html>
<head>
</head>
<body>
<?PHP
$id1 = "<font style='font-family: Trebuchet MS'>";
$id2 = "</font>";
$Id = $_POST['Id'];
$naam = $_POST['n'];
$email = $_POST['e'];
$onzin = "<table width=300>
<tr><td width=50%>".$id1."<b>Naam: </b></td><td width=50%>".$id1.$naam."</td></tr>
<tr><td width=50%>".$id1."<b>E-mail: </b></td><td width=50%>".$id1.$email."</td></tr>
</table>" ;
print $id1;
print "<b>Tekst</b><br><P>";
print $onzin;
print "</p>";
print $id2;
$logfile = fopen("bestandsnaamlogbestand.txt", "a");
fputs($logfile, date("d-m-Y, H:i:s", time()) . ";" . $_SERVER[REMOTE_ADDR] . ";" . $naam . ";" . $email . "
");
fclose($logfile);
// de opgeslagen zaken weergeven
?>
</body>
</html>
<head>
</head>
<body>
<?PHP
$id1 = "<font style='font-family: Trebuchet MS'>";
$id2 = "</font>";
$Id = $_POST['Id'];
$naam = $_POST['n'];
$email = $_POST['e'];
$onzin = "<table width=300>
<tr><td width=50%>".$id1."<b>Naam: </b></td><td width=50%>".$id1.$naam."</td></tr>
<tr><td width=50%>".$id1."<b>E-mail: </b></td><td width=50%>".$id1.$email."</td></tr>
</table>" ;
print $id1;
print "<b>Tekst</b><br><P>";
print $onzin;
print "</p>";
print $id2;
$logfile = fopen("bestandsnaamlogbestand.txt", "a");
fputs($logfile, date("d-m-Y, H:i:s", time()) . ";" . $_SERVER[REMOTE_ADDR] . ";" . $naam . ";" . $email . "
");
fclose($logfile);
// de opgeslagen zaken weergeven
?>
</body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door Joop