Avatar billede swhampen Nybegynder
06. december 2000 - 18:12 Der er 25 kommentarer og
2 løsninger

Sletning af bruger efter en måned?

Jeg er ved at lave et login script, i mysql/php, hvor folk skal kunne vælge hvornår deres abbonoment skal stoppe... hvis det f.eks. er en måned de har valgt, skal de en måned efter oprettelsen blive slettet af databasen.. hvordan laver man det?
Avatar billede redhead Nybegynder
06. december 2000 - 18:17 #1
Det skal laves med noget perl eller c...
Avatar billede mortenfn Nybegynder
06. december 2000 - 18:18 #2
redhead -> hvorfor det det kan da også laves i php
Avatar billede swhampen Nybegynder
06. december 2000 - 19:06 #3
okay.... hvordan :)
Avatar billede stigc Nybegynder
06. december 2000 - 19:08 #4
mysql kan ikke det du ønsker!

men du kan få brugerne til at gøre det selv!

Når en brugere logger ind sletter du bare alle brugere \"WHERE\" udløbsdato er mindre end nuværende dato..

Når en brugere opretter sig har han et \"felt\" der hedder uddløbsdato der er nuværende dato + 1 måned!
Avatar billede swhampen Nybegynder
06. december 2000 - 19:12 #5
AGHR!!! det skal man kunne!!! jeg har brugt ½år på det script..... det der du snakker om, er også fint nok... hvordan gør man det?
Avatar billede stigc Nybegynder
06. december 2000 - 19:13 #6
hvis du kan lidt php og sql syntaks så burde det være lige til ud fra min forklaring!
Avatar billede swhampen Nybegynder
06. december 2000 - 19:17 #7
yeah right... tak for hjælpen...... nu er det sådan at jeg ik forstår hvad du mener, så er det jo også nemt nok
Avatar billede mortenfn Nybegynder
06. december 2000 - 19:20 #8
skal det ske automatisk eller skal du starte funktionen evt. (halvauto.)
Avatar billede stigc Nybegynder
06. december 2000 - 19:21 #9
jeg kan desværre ikke selv php, så jeg vil ikke kunne lave det til dig!

Du skal ind og lave et felt i din bruger tabel der hedder \"udløbsdato\" (måske uden dansk ø :) )

når brugeren opretter sig ligger du nuværende dato ind i det felt + antal dage abonnomenten varer!

Hver gang en bruger logger ind tjekker du lige om nogen i databasen skulle hae en udløbsdato der er mindre end dags dato! Hvis så kan du slette dem:


\"Delete from bruger where udløbsdato<\'\" & dagsdato &\"\';\"

så kan det ikke siges mere klart :)

Avatar billede mortenfn Nybegynder
06. december 2000 - 19:23 #10
time()+2592000 = udløbsdatoen
Avatar billede swhampen Nybegynder
06. december 2000 - 19:23 #11
mortenfn :
det ville være bedst hvis det skete automatisk, men ellers må man jo nøjes :)
Avatar billede mortenfn Nybegynder
06. december 2000 - 19:35 #12
Du kunne lave en form:

<input type=\"radio\" value=\"1\" name=\"tid\">1 måned<br> ... o.s.v.

resultatel lægger du i mysql. resultatet = time()+2592000*$tid

derefter kører du en delete i mysql hvor du sletter alle der er mindere end time()

hvis du kører windows kan du lægge siden i \"planlagte opgaver\" og så lade den køre en gang om ugen   
Avatar billede mortenfn Nybegynder
06. december 2000 - 19:36 #13
de første linjer lægges på \"oprettelsessiden\"

slettefunktionen lægger du i en side kun du kender
Avatar billede jd Nybegynder
06. december 2000 - 19:56 #14
redhead-> sikke noget vrøvl! :)
Avatar billede redhead Nybegynder
06. december 2000 - 20:27 #15
jd >> Hvis det skal laves ordentligt skal det laves med en af de to... måske også nogle andre men dem kender jeg ikke...
Avatar billede jd Nybegynder
06. december 2000 - 20:35 #16
redhead-> \"Hvis det skal laves ordentligt\"...Må jeg lige høre hvad perl/c kan, som php ikke kan ordentligt!?
Avatar billede mortenfn Nybegynder
06. december 2000 - 20:36 #17
spørgsmålet henvender sig til PHP, men selvfølgelig kan du da lave det i andre sprog, men det kan jeg SLET ikke !!!
Avatar billede redhead Nybegynder
06. december 2000 - 20:43 #18
PHP er et server side http sprog, det han vil er system vedligeholdelse det gøres bedst fra en cron eller lign. Der er PHP ikke ideelt, langt fra.
Avatar billede swhampen Nybegynder
06. december 2000 - 20:46 #19
hehe sikkert ikke... men nu har jeg lavet alt det andet i php, og de løsninger jeg har fået her er helt klart fine nok... og rigtig nok som mortenfnn siger, så spurgte jeg om hvordan man gjorde i php
Avatar billede mortenfn Nybegynder
06. december 2000 - 20:47 #20
for mig at vil han bare slette nogle brugere efter en måned
Avatar billede jd Nybegynder
06. december 2000 - 21:46 #21
Ja, det kan gøres med cron - hvilket php da er fin til - men man kan jo også bare gøre som stigc skrev længere oppe, at lade brugerne selv gøre det når de logger ind... hvorfor ik? Hvis der er tilpads mange brugere, vil det være næsten lige så præcist.
Avatar billede mortenfn Nybegynder
06. december 2000 - 22:11 #22
nu har jeg den automatiske:

$tid = time()+2592000*antal_måneder;

mysql_query(\"delete from tabel where dato < \'time()\'\");

mysql_query(\"insert into tabel ( dato) values \'$tid\')\");
Avatar billede mortenfn Nybegynder
06. december 2000 - 22:13 #23
i indsæt skal der også være row med adresser osv
Avatar billede mortenfn Nybegynder
06. december 2000 - 22:15 #24
jeg blev lidt ivrig

mysql_query(\"insert into tabel (navn, dato) values (\'$navn, \'$tid\')\");
Avatar billede mortenfn Nybegynder
06. december 2000 - 22:32 #25
lige en lille rettelse

$sss = time();
mysql_query(\"delete from tabel where dato < \'$sss\'\");

Avatar billede Slettet bruger
07. december 2000 - 08:46 #26
Må jeg foreslå at den del af PHP siden der sletter de brugere der er for gamle, i stedet for at blive kørt når brugere logger ind, sletter dem hver gang siden indlæses..
Det skulle ikke være svært at lave!

Så er brugersystemet altid opdateret lige i det øjeblik der er nogen der skal bruge siden!
Avatar billede mortenfn Nybegynder
07. december 2000 - 10:36 #27
det er også det der sker i midt sidste forslag
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
Computerworld tilbyder specialiserede kurser i database-management

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