Avatar billede kegud Nybegynder
11. juli 2006 - 17:34 Der er 25 kommentarer og
1 løsning

Tilmeldingssystem med timer

Hej

jakobdo lavede et script for ca. et år siden (http://www.eksperten.dk/spm/645276), hans tilmelding er http://www.codebreaker.dk/exp/645276.php.

Nu leder jeg efter en der gider tilføje følgende til scriptet:

en timer, så hvis vedkommende der har tilmeldt sig ikke er blevet krydset af i admin for at han har betalt inden fx. 14 dage, så bliver han slettet fra listen (databasen).

En ekstra ting hvis dette kan lade sig gøre: er det muligt at lave et max? Så hvis der er mere end 50 tilmeldte, så siger den automatisk at festen er fuldt booked?

På forhånd tak.
Avatar billede zynzz Praktikant
11. juli 2006 - 17:52 #1
1. du er nød til at gemme en tid i databasen, hvor på du laver en funktion der tæller tiden + du må lave et felt hvor man kan se om brugeren er godkendt.

2.

<?
$res = mysql_query("SELECT id FROM dintabel");
$antal = mysql_num_rows($res);
$stop = "nej";

if($antal == 50)){
$stop = "ja";
echo"Festen er booked!"; }

if($stop == nej)){ ?>

tilmeldingen her
<?
}
?>
Avatar billede kegud Nybegynder
11. juli 2006 - 18:29 #2
har et problem med det sidste der, når den når 50 siger den godt nok at alt er booked, men så kan man bare freshe siden og så kan man fortsætte bestilling..
Avatar billede kegud Nybegynder
11. juli 2006 - 18:48 #3
ah, skulle bare lige sætte } det rigtige sted..

nogen der kan give et eksempel på hvad jeg snakkede om først? med timeren?
Avatar billede zynzz Praktikant
11. juli 2006 - 18:57 #4
Det kan jeg godt lidt senere
Avatar billede kegud Nybegynder
11. juli 2006 - 19:09 #5
cool cool.. lige et ekstra spørgsmål: da det jo er muligt for folk at bestille mere end 1 billet af gangen. Hvordan kan jeg så gøre det sådan at den siger fejl hvis folk bestiller fx. 2 billetter når der kun er 1 plads tilbage?
Avatar billede zynzz Praktikant
11. juli 2006 - 19:12 #6
Hvordan ser din postværdi ud ?
Avatar billede zynzz Praktikant
11. juli 2006 - 20:57 #7
$antal_ialt = $antal+$_POST[ialt];
if($antal_ialt <= 50){
mysql_query("UPDATE dintabel SET blabla");
echo"Du er nu tilmeldt";}else{ echo"Du blev desvære ikke tilmeldt pga. der er for mange tilmeldte..."; }
Avatar billede kegud Nybegynder
12. juli 2006 - 12:07 #8
yes, så er det på plads.. tak for det.. havde du også et eksempel på en timer? :)
Avatar billede zynzz Praktikant
12. juli 2006 - 12:31 #9
// indsætter du til mysql ved bruger opret
$stoptid = time() + (14 * 24 * 60 * 60);

// Opret også en værdi som adminen skal oprette
indsæt enten en værdi der hedder godkendt eller en der hedder ikkegodkendt

//så henter du tiden ud
if($data[stoptid] <= time();) && ($data[admin] == ikkegodkendt)){

mySQL delete her

}
Avatar billede kegud Nybegynder
12. juli 2006 - 13:53 #10
ser meget fornuftigt ud.. kigger lige på det..
Avatar billede zynzz Praktikant
12. juli 2006 - 14:32 #11
Noget der virker ?
Avatar billede kegud Nybegynder
12. juli 2006 - 14:37 #12
ja, det ser sådan ud, men nu er jeg lidt i tvivl. hvordan får jeg den til at echo hvor lang tid der er tilbage? og er der en måde jeg kan teste det på, evt. ændre i
$stoptid = time() + (14 * 24 * 60 * 60); så den bliver sat til et par minutter, bare så jeg kan se om det virker?

sorry jeg er så belastende ;)
Avatar billede kegud Nybegynder
12. juli 2006 - 14:43 #13
hmm.. den synes tilsyneladende at den skal slette alle poster i mysql..

er det ikke nok med ("delete from tilmeldte") ?
Avatar billede zynzz Praktikant
12. juli 2006 - 15:14 #14
14 = dage 24 = timer 60 = minutter 60 = sekunder


nej du skal mysql_query("delete from dintabel where id ='$_data[id]'");
Avatar billede zynzz Praktikant
12. juli 2006 - 15:22 #15
Hvornår du brugeren bliver slettet:

Vil jeg mene virker...

$i_stoptid = date('d/m (H:i)', $data[stoptid]);

echo"Din bruger bliver slettet - . " $i_stoptid;
Avatar billede zynzz Praktikant
12. juli 2006 - 15:23 #16
Kan du få det til at virke ?
Avatar billede kegud Nybegynder
12. juli 2006 - 15:37 #17
dvs. 0 * 0 * 0 * 60 ? Ser ikke ud til der sker så meget ved det

ser pt. sådan her ud:

$query = mysql_query("SELECT * FROM tilmelding") OR DIE (mysql_error());
WHILE ($row = mysql_fetch_array($query)) {

if($row[stoptid] >= time() && ($row[godkendt] == no)){
mysql_query("DELETE FROM tilmelding WHERE id ='$_row[id]'");
}
}
Avatar billede zynzz Praktikant
12. juli 2006 - 15:40 #18
Ja men 0 * 0 * 0 * 60 giver jo 0 så bare skriv 60 i stedet for = 60 sek

$row[stoptid] kan aldrig blive større eller lig med time(); da tiden går !
Avatar billede zynzz Praktikant
12. juli 2006 - 15:42 #19
$ii_stoptid = time();
$query = mysql_query("SELECT * FROM tilmelding") OR DIE (mysql_error());
WHILE ($row = mysql_fetch_array($query)) {

if($row[stoptid] <= $ii_stoptid) && ($row[godkendt] == no)){
mysql_query("DELETE FROM tilmelding WHERE id ='$_row[id]'");
}
}
Avatar billede kegud Nybegynder
12. juli 2006 - 15:55 #20
nu smider dem den godt nok over i at de skal slettes, nu skal jeg bare ha den til faktisk at slette.. gør den ikke nu
Avatar billede zynzz Praktikant
12. juli 2006 - 15:57 #21
øhh, kan du lige forklare... :S ?
Avatar billede kegud Nybegynder
12. juli 2006 - 15:59 #22
altså.. den echoer at folk bliver slettet nu, men den sletter dem ikke..
efter de 60 sekunder kommer echo bare med "bruger bliver slettet"
Avatar billede kegud Nybegynder
12. juli 2006 - 16:02 #23
ah! hehe.. det var
mysql_query("DELETE FROM tilmelding WHERE id ='$_row[id]'");

er jo $row[id] og ikke $_row[id] :)

tester lige det hele igennem.. du må godt smide et svar...
Avatar billede zynzz Praktikant
12. juli 2006 - 16:03 #24
hehe det var min fejl :P

Men her er svar :P
Avatar billede kegud Nybegynder
12. juli 2006 - 16:07 #25
hehe, helt iorden :p

Mange tak for hjælpen, alt virker som det skal nu!
Avatar billede zynzz Praktikant
12. juli 2006 - 16:08 #26
Lyder super :)
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