Avatar billede kasperhansen112 Nybegynder
28. april 2004 - 02:01 Der er 5 kommentarer

hvordan laver mand delay

jeg har et lille point sytem men jeg vil godt ha lidt "delay"

Fx
mysql

navn    password point money
kasper    ***      5    10

kasper køber 1 point kl 2004-04-27 19:00:00
men han skal ikke få den får en time efter det vil sige
2004-04-27 20:00:00
Avatar billede olebole Juniormester
28. april 2004 - 02:58 #1
<ole>

Det kræver, man kan køre cronjobs på serveren. Snak med din udbyder og hør, om du kan få lov - og om hvordan du gør det  :)

/mvh
</bole>
Avatar billede sone Nybegynder
28. april 2004 - 08:40 #2
Eller at du har en ekstra tabel hvor du noterer hvornår nogle points må ligger til en konto - f.eks.
kasper, 2004-04-27 20:00:00, 1

Det første kald efter kl. 20:00 ligger så kasper ene point til hans konto.
Avatar billede kasperhansen112 Nybegynder
28. april 2004 - 13:57 #3
sone hvorfor et sript kan det hede ??
Avatar billede olebole Juniormester
28. april 2004 - 14:09 #4
Nu ved jeg ikke, hvor nøjagtig det skal være en time efter, at pointene tildeles - og hvor mange sidevisninger, du har. Hvis der er mange sidekald, kommer der også mange database kald og så kan et pseudo-cronjob, som sone foreslår, godt blive lidt af en belastning. Derudover er det en fin løsning, da man mange steder ikke kan få lov til at afvikle cronjobs.

Hvis du kan nøjes med at checke f.eks. hvert 10. minut, om nogen skal have tildelt points, kan du bruge et script, jeg engang lavede.
Du opretter en mappe, der hedder 'pseudocron'. I den lægger du en fil med de funktioner, der skal afvikles:

<?
function noget() {
  // Kode
}
function noget_andet() {
  // Kode
}
noget();
noget_andet();
?>

Kald filen 'cron_funcs.php'. Ved siden af den fil lægger du en fil, der hedder 'cron.inc.php' og har dette indhold:

<?

$cron_intval = 10; // minutes
$cron_funcs_fname = "cron_funcs.php"; // Functions goes here
$cron_path = $_SERVER["DOCUMENT_ROOT"]."/pseudocron/"; // Path to this folder

$cron_fname = "cron_stamp.php";
$cron_stamp = 0;
if ( is_file($cron_path.$cron_fname) ) {
    include($cron_path.$cron_fname);
}

$cron_now = time();
if ( $cron_now>$cron_stamp+(60*$cron_intval) ) {
    include( $cron_path.$cron_funcs_fname );
    $fp = fopen($cron_path.$cron_fname, "w");
    fwrite($fp, "<?\$cron_stamp = ".$cron_now.";?>");
    fclose($fp);
}

?>

Nu kan du inkludere filen i alle dine sider med:
  include("pseudocron/cron.inc.php");
og dine funktioner bliver afviklet hvert 10. minut.
/mvh
Avatar billede olebole Juniormester
28. april 2004 - 14:18 #5
PS: Husk at give skriverettigheder på mappen 'pseudocron'  ;o)
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