Informatie wegschrijven in database via druk op een link

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joop

Joop

29/09/2009 15:55:00
Quote Anchor link
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 :-).

Alvast ontzettend bedankt!
 
PHP hulp

PHP hulp

29/11/2024 02:51:32
 
Yearupie Achternaamloos

Yearupie Achternaamloos

29/09/2009 17:50:00
Quote Anchor link
Gewoon doorlinken naar een pagina en daar dmv een database verbinding akkoord er in zetten? Eventueel het e-mail adres als $_GET meegeven.
 
Joop

Joop

29/09/2009 18:48:00
Quote Anchor link
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.
 
- Mark -

- Mark -

29/09/2009 18:56:00
Quote Anchor link
Je moet er wel nog het database gedeelte inbouwen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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.';
                
                }
            
            }
        }


?>
 
Joop

Joop

29/09/2009 19:01:00
Quote Anchor link
Thanks! En hoe doe ik dat? :-)
 
- Mark -

- Mark -

29/09/2009 19:04:00
 
Elwin - Fratsloos

Elwin - Fratsloos

29/09/2009 19:10:00
Quote Anchor link
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 ... :)
 
Joop

Joop

02/10/2009 08:49:00
Quote Anchor link
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<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)
PHP script in nieuw venster Selecteer het PHP script
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
<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
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.