Avatar billede weis Nybegynder
18. marts 2006 - 16:04 Der er 8 kommentarer og
1 løsning

nyhedsbrev og slette bruger efter 24 timer

Jeg er ved at lavet en nyhedsbrev funktion hvor bruger får tilsendt en mail med en adresse de skal klikke på for at aktivere deres konto, men jeg mangler en funktion der sletter dem i databasen hvis de ikke har aktiveret deres konto indenfor 24 timer.
Jeg har følgende felter i min database:
ID
navn
mail
dato
tjek  (ja/nej)

hvilke muligheder er der for at gøre dette muligt...!
Avatar billede mekawi Nybegynder
19. marts 2006 - 09:23 #1
Du skal lave et Automated Script (altså et script der kører en gang i timen). Det kan nok kun lade sig gøre hvis du har din egen server (eller i hvert fald har en computer der er tændt hele tiden).

Scriptet kunne se sådan ud:

<%
sql="delete from newsletter_table where dato <= DATE_SUB(now(),INTERVAL 24 HOUR)"
conn.execute sql
%>

Det kræver selvfølgelig at dit dato-felt er af typen Date-time, ellers tror jeg du får en fejl.

Men hvorfor vil du slette dem? De fylder jo ingenting, medmindre du har 10.000 tilmeldinger om dagen....?

//Kim

http://www.mekavi.com
Avatar billede weis Nybegynder
19. marts 2006 - 11:27 #2
Det er fordi man modtager en mail med et aktiveringslink, hvis en bruger så ikke aktivere sin konto og sletter mailen, så vil man ikke længere kunne tilmelde den mail med mindre adressen bliver slettet manuelt i databasen, så det er for at mindske administartionen af nyhedsbrevsfunktionen.
Avatar billede mekawi Nybegynder
19. marts 2006 - 11:46 #3
Kan du ikke bare checke om kontoen er aktiv når du forsøger at tilmelde adressen?
Avatar billede weis Nybegynder
19. marts 2006 - 11:53 #4
jo det er en mulighed, men jeg ville gerne have muligheden for at den selv rydder op i databasen, så der ikke kommer til at ligge enmasse mailadresser der ikke bruges til noget.
Men så må muligheden vel være at jeg laver et script jeg selv køre engang i mellem, som så sletter alle de ikke aktiveret adresser der er ældre end 2 dage gamle...!
Avatar billede apo Praktikant
19. marts 2006 - 12:00 #5
Jeg har ikke lige koden til det men...

Måske kan du lave en funktion, der sammenligner tidspunkter for hvornår tilmeldingen har fundet sted og 24 timer frem, og hvis vedkommende forsøger, at aktivere kontoen efter de 24 timer, slettes brugeren - Og vedkommende bliver nød til at oprette en ny.

Derefter kan du lave en manuel funktion, som når du klikker på en knap i dit adminsystem sletter alle brugere, der har overskredet de 24 timer.
Avatar billede mekawi Nybegynder
19. marts 2006 - 12:36 #6
Det er jo væsentlig nemmere med et automated script - så skal man jo slet ikke gøre noget selv. Jeg bruger det til alle opdateringer og synkroniseringer med PostDanmark omkring pakkeudsendelser...
Avatar billede weis Nybegynder
03. maj 2006 - 20:55 #7
Fik det til at virke - tak for hjælpen, smid gerne et svar :D
Avatar billede mekawi Nybegynder
04. maj 2006 - 10:41 #8
Her er svar. Hvad blev løsningen?
Avatar billede weis Nybegynder
04. maj 2006 - 14:11 #9
hvis en bruger ikke havde aktiveret sin mail inden 24 timer, fik jeg den til at slette denne post næste gang en oprettede en ny nyhedskonto med samme mailadresse (og så med de nye informationer)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester