Avatar billede ofirpeter Nybegynder
18. december 2004 - 19:08 Der er 14 kommentarer og
1 løsning

Tid som angiver hvor lang tid brugeren har været på siden

Hej, jeg har forgæves søgt efter et script som kan fortælle mig hvor lang tid brugeren af min hjemmeside, benytter på en bestemt side.

Scriptet skal være formet således at "stopuret" starter når brugeren loader siden, og når der trykkes på en submitknap, skal tiden stoppes, og gemmes i en variabel.

Mit problem ligger i, hvordan jeg laver en stump kode der tæller tiden?
Avatar billede jakobdo Ekspert
18. december 2004 - 19:33 #1
Du kan ikke få en korrekt kode, som viser dig det du ønsker!
Eks. 1:
Hvis jeg f.eks. loader din side, så starter tælleren!
Jeg lukker min browser...
Er jeg så stadig online?

Eks. 2
Hvis jeg f.eks. loader din side, så starter tælleren!
Jeg læser siden, (Ca 10 min)
Surfer til anden side.

Hvordan skal den vide jeg har læst siden i 10 minutter, eller er surfet videre?
Avatar billede ofirpeter Nybegynder
18. december 2004 - 19:49 #2
Dårligt formuleret af mig. Jeg ønske at se hvor lang tid der går fra brugeren kommer ind på siden, til han/hun trykker på submit knappen.
Avatar billede googolplex Novice
18. december 2004 - 20:01 #3
Så kan du bare ligge tiden i et hidden field og når brugeren trykker submit, generer siden den nye tid og trækker de 2 fra hinanden. Det kan også laves via sessions, der er flere muligheder.
Avatar billede googolplex Novice
18. december 2004 - 20:04 #4
formpage.php

<?php
$start = time();
?>

// Din formular her
<input type="hidden" name="time" value="<?php echo $start; ?>" />

action.php

//

<?php
$end = time();
$time_on_formpage = $end - $_POST['time'];
echo 'Du var ' . $time_one_formpage . ' sekunder på formpage.php';
?>
Avatar billede ofirpeter Nybegynder
18. december 2004 - 20:09 #5
Kan jeg ikke bare skrive det ud på samme side? ("Du var xx tid om at trykke på knappen")
Avatar billede googolplex Novice
18. december 2004 - 20:14 #6
Jo, intet problem.
Avatar billede ofirpeter Nybegynder
18. december 2004 - 20:49 #7
Hvilken enhed måles tiden i? Jeg får nogle mærkelige høje tal blandt andet: 1103399150
Avatar billede jakobdo Ekspert
18. december 2004 - 21:37 #8
Du bør kunne bruge denne løsning:

<?php

echo "<form action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"POST\">";
echo "<input type=\"hidden\" value=\"" . time() . "\" name=\"timeStart\">";
echo "<input type=\"submit\" value=\"Stop Tiden\" name=\"stop\">";

if (isset($_POST['stop']))
{
    $start = $_POST['timeStart'];
    $end = time();
    $diff = $end - $start;
   
    echo "<br>Start: " .  $start;
    echo "<br>End: " .  $end;
    echo "<br>Sekunder brugt fra load til submit trykket: " . $diff;
}

?>

Og enheden er sekunder:
Avatar billede ofirpeter Nybegynder
19. december 2004 - 12:28 #9
Nu er alle brikkerne faldet på plads. Du må gerne svare jakobdo.
Avatar billede jakobdo Ekspert
19. december 2004 - 14:49 #10
Svar...
Avatar billede ofirpeter Nybegynder
19. december 2004 - 15:08 #11
Mange tak for hjælpen.
Avatar billede ofirpeter Nybegynder
19. december 2004 - 15:11 #12
Jeg har lavet en fejl og det beklager jeg meget. Googolplex er selvfølge berettiget til point, mindst ligeså meget som jakobdo. Da han spillede ud med det der var grundlaget for hele løsningen.

Jakobdo er du venlig mindst at dele med googolplex ?
Avatar billede jakobdo Ekspert
19. december 2004 - 17:00 #13
Helt sikkert!
Jeg opretter et spørgsmål, hvor Googolplex kan svare og få 30 point...
Avatar billede ofirpeter Nybegynder
19. december 2004 - 17:02 #14
Mange tak, og undskyld besværet. Det er hvad der sker, når man ikke åbner øjnene.
Avatar billede ofirpeter Nybegynder
19. december 2004 - 17:17 #15
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