Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:04 Der er 13 kommentarer og
1 løsning

Tid siden klik..

Yo! Jeg kan baaare ikke gennemskue hvordan jeg skal lave det her..
Jeg skal, i PHP, lave en lille ting der kan udskrive tiden fra jeg har klikket på et link, til jeg klikker på det igen..

Nogen der kan hjælpe..? :)
Avatar billede razor Nybegynder
01. marts 2004 - 18:08 #1
Sæt en cookie (setcookie()) med det nuværende output fra time(). Når man så klikker på linket igen kan du trække den nuværende værdi fra time() fra cookiens time() :-)
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:09 #2
Er ikke helt PHP pro.. ;) Så kan jeg få et lille kode-eksempel?
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:11 #3
Kan det ikke laves uden brug af cookies..?
Avatar billede razor Nybegynder
01. marts 2004 - 18:14 #4
Prøv at kigge på manualsiden for de forskellige funktioner:

o http://php.net/setcookie
o http://php.net/time

Hvis ikke du helt kan forstå dem kan du prøve at forklare hvad det er der ikke lige giver mening, så skal jeg nok prøve at forklare :-)

I princippet kan det, men det ville være pænt fjollet (og sikkert også meget mere kompliceret), da cookies er den teknologi der er udviklet netop til at løse den her problematik.
Avatar billede razor Nybegynder
01. marts 2004 - 18:19 #5
En pseudo kode kunne være:

Hvis cookie findes, så {
  udskriv (nuværende tid - cookie-tid)
}

send cookie med nuværende tid
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:23 #6
Jeg vender lige tilbage så snart jeg har læst de ting der.. :)
Avatar billede jakoba Nybegynder
01. marts 2004 - 18:24 #7
php er nok ikke det bedste til det formål, for dit tidsinterval er så lille at den usikkerhed der er på http kommunikationen mellem browseren (hvor brugeren klikker) og serveren (hvor php kan registrere klikket) ville gøre præcicionen på målingen meget tvivlsom. Usikkerheden ville blive et sekund eller mere.

Istedet ville jeg lave målingen lokalt i browseren, fx med javascript, og derefter evt sende måleresultatet til serveren til php at reagere på.

<script type='text/javascript'> <!-- //> simpel intervalmåler

var forste = true;
var tid_1;

function seKlik() {
    if ( forste ) {  // forste gang han klikker
        tid_1 = new Date();      // tiden lige nu
        forste = false;          // husk der klikket forste gang
    } else {
        tid_1 = (new Date()).valueOf() - tid_1.valueOf();  // tidsforskel i millisekunder
        alert( "der var " +(tid_1/1000) +" sekunder imellem første og andet klik." );
        // her kan du så gøre noget med den målte tid_1 værdi, fx sende den til serveren
        forste = true;          // start forfra hvis brugeren klikker igen
    }
} //end seKlik

// --> </script>

og et link:

<a href="#" onclick="seKlik();return false;">start/stop målingen</a>

mvh JakobA
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:28 #8
Arrrrh! Det er jo super cool det der jakoba!
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:29 #9
Håber det er iorden at mine point går til Jakoba.. :)
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:29 #10
Svar? :)
Avatar billede jakoba Nybegynder
01. marts 2004 - 18:30 #11
det er da ihvertfald OK med mig :)
Avatar billede razor Nybegynder
01. marts 2004 - 18:31 #12
Jep - det er helt fint med mig. Det er nu engang nemmere når man ikke skal tænke eller lære noget selv :-)
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:31 #13
Men alligevel, tak for hjælpen Razor! :)
Avatar billede pizzaria Nybegynder
01. marts 2004 - 18:34 #14
Det har du sørme ret i.. :)
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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