Avatar billede ronniwenzell Nybegynder
03. december 2003 - 01:06 Der er 9 kommentarer og
1 løsning

Er dato i db og dags dato større end 6 mdr skal der sendes mail

Er der nogen, der kan komme med et godt bud på denne her?

Jeg har en dato gemt i min db under rsUsers("sidste_log") - altså hvornår brugeren sidst loggede ind. Denne bruger skal tilsendes en mail (som hentes i rsUsers("mail")), hvis brugeren ikke har været logget ind i et halvt år.

Hvilke metoder findes der for at afvikle dette?

Findes der en funktion, der kan sætte et run igang i databasen hver 24. time, der tjekker om rsUsers("sidste_log") er mere end 6 måneder ældre end dags dato - eks. via Now() ??

Har nogen et godt bud på det??

Mange venlige hilsner,
ronni.
Avatar billede ronniwenzell Nybegynder
03. december 2003 - 01:10 #1
PS: Enten skal ("sidste_log") være præcis 6mdr gammel i forhold til Now(), så ikke samme bruger modtager én mail pr døgn - og selvfølgelig forudsat at det run der tjekker db'en, afvikles med sikkerhed hver 24. time.  ...eller...

Jeg måske skal lave en tjekbox i db'en, hvor der tjekkes af, hvis der ER afsendt mail til brugeren???

Ja ... jeg ved ikke helt hvordan jeg skal tænke den ud...
Avatar billede swaxi Nybegynder
03. december 2003 - 01:14 #2
du kan eks. gemme dato for sidst afsendte mail. hvis denne er > 6 måneder, sender du en ny mail og opdaterer datoen.
Avatar billede Henrik_B Novice
03. december 2003 - 01:15 #3
Sæt en dato i din database, der siger, hvornår du har sendt afmeldelsesmailen. Så kan du køre et script, når du vil, der afsender mails og opdaterer datoen. Dermed bestemmer DU hvornår der skal laves udløbscheck. Hvis en eller anden så siger, de ikke vil afmeldes, retter du blot datoen. Så kan du også selv bestemme, hvornår du vil slette de forskellige poster, f.eks. efter 3 måneder som inaktiv. I den mellemliggende tid kan andre blive gjort inaktiv, UDEN at de bliver fysisk slettet ved den store rengøring.
Avatar billede minau Nybegynder
03. december 2003 - 01:18 #4
er det et stamp du har gemt i din DB?
Avatar billede ronniwenzell Nybegynder
03. december 2003 - 01:19 #5
hov - så har jeg ikke helt været tydelig nok. Brugeren skal kun modtage én mail. Sådan her er det:

1) Hver gang brugeren logger ind sættes dato'en i db'en under rsUsers("sidste_log")

2) Hvis denne dato bliver ældre end 6 mdr, skal brugeren modtage en mail, der påminder om at han/hun ikke har været logget ind i 6 mdr og at konto'en lukkes hvis ikke der logges ind indenfor 14 dage.

3) Logges der ikke ind indenfor 14 dage, resettes ("sidste_log") derfor heller ikke og der afvikles så en lign. funktion (bare med en tidsfrist på 6 mdr + 14 dage) hvor kontoen lukkes.
Avatar billede ronniwenzell Nybegynder
03. december 2003 - 01:21 #6
PS: Siden skal - i så vidt muligt omfang - være selv-opdaterende. Dvs. uden jeg skal tjekke alle dato'er i db'en hver dag... Kan det ikke afvikles automatisk??
Avatar billede thesurfer Nybegynder
03. december 2003 - 02:03 #7
Du kan normalt ikke få scriptet til automatisk at køre sig selv.

Nogle webhoteller tilbyder en service der hedder "CronJob". En slags "Planlægningsagent" (eller hvad den nu hedder). Den kører på et forudbestemt tidspunkt, og udfører en eller anden handling.. i dit tilfælde, et dato check.
Denne service plejer gerne at koste et lille beløb per afvikling/kørsel af CronJob. F.eks. 25 øre per afvikling, muligvis også et gebyr for at have servicen tilrådighed.
Læs om CronJob er muligt (og pris) på dit webhotels hjemmeside, eller kontakt dem.

En anden løsning er, selv at have en computer med "Planlægningsagenten" kørende, som så går ind på en side på nettet, som så udfører dit dato check.

En dålig løsning er, at scriptet kører når en eller anden bruger logger ind. Hvis ingen logger sig ind, bliver "dato check"-scriptet aldrig afviklet, hvilket betyder at ingen mail sendes og at ingen konti lukkes ned.
Avatar billede swaxi Nybegynder
03. december 2003 - 02:08 #8
1) lav et felt i din tabel, der eks. hedder reminder. set den pr. default til 0.

2) lav et script, der selecter alle brugere hvor login < now() - 6 months & reminder = 0.

3) send mail til disse.

4) update alle disse brugere til reminder = 1

5) lav et tilsvarende script, der checker for 6mdr+14dage, men som sletter dem.

6) sæt dine scripts til at afvikle eks. een gang i døgnet (sen nat/tidlig morgen). det gør du med en scheduler. det kommer lidt an på hvordan din server er sat op - spørg din sysadmin.
Avatar billede syntax_hh Nybegynder
11. januar 2004 - 10:15 #9
Du kunne også bruge:
DD = DateDiff("m", now, rs("sidste_log"))

If DD => 6 Then
Send mail osv...
Avatar billede ronniwenzell Nybegynder
16. august 2004 - 00:28 #10
.
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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