[Funktion] Script nur einmal am Tag ausführen ?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Funktion] Script nur einmal am Tag ausführen ?

    Hallo, habe euch über Google gefunden

    Also ich bin ein ganz blutiger Anfänger und hoffe mir kann jemand helfen *g*

    Ich habe ein php Script das bei jedem Aufruf der Seite ausgeführt wird.
    Nun möchte ich es aber so haben, daß dieses Script nur beim ersten Aufrufen der Seite ausgeführt wird und dann nicht mehr.
    Ich denke das man dies per Datum machen muß welches beim ersten Aufrufen der Seite in die SQL Datenbank geschrieben wird und dann bei weiteren Aufrufen das Datum geprüft wird. Hoffe soweit liege ich richtig *g*

    Jetzt habe ich 1 Monat alles versucht schaffe es aber nicht da ich mit Datum etc. nicht klar komme. Vielleicht kann jemand einemNewbie helfen.

  • #2
    SELECT COUNT(*) anzahl FROM tabelle WHERE datum>=Now()

    wenn anzahl==0
    - INSERT INTO tabelle SET datum=Now()
    - seite anzeigen

    in der tabelle hast du die spalte datum (datentyp: date)
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Ich habs mit ner datei gelöst.

      Wenn Dateidatum != heute {
      // das 1 mal tägliche script
      etwas in die datei schreiben
      }

      so genau...

      PHP-Code:
       ### Check ob update erledigt...
         
          
      $file "imp/update.txt";
          
      $updatedatum filemtime($file);
          
      $dateidatum date("d.m.Y"$updatedatum);
          
      $datumheute  date("d.m.Y"); }
          
      if(
      $datumheute <> $dateidatum) { 
      echo 
      "Mach was du 1 mal machen musst";
      $fh fopen("update.txt""w");
      fwrite($fh,"irgendwas");
      fclose($fh);




      else {
      Was es sonst so zu machen gibt;
       
      ?> 
      Zuletzt geändert von Seccho; 01.09.2003, 21:36.
      _____________
      Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
      [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

      Kommentar


      • #4
        Mhm komme damit nicht so klar.

        Bei mir wird nice was in die Tabelle geschrieben bzw. es wird trotzdem ausgeführt.
        Ich habe mir eine Tabelle test angelegt mit dem Type date aber will nicht so wie es soll.

        Das Script ansich geht ja wunderbar nur es darf/soll halt nur beim ersten Aufruf ausgeführt werden und dann erst am nächsten Tag wieder. Also nur einmal pro Tag.

        P.S. Ihr seit echt Klasse so schnell habe ich nicht mit Hilfe gerechnet da darf man ja garnicht aufstehen *g*

        Kommentar


        • #5
          wie sieht dein skript denn aus? (code)
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            Den Code kann ich leider nicht posten da er von einer Forensoftware ist und ich damit gegen die Lizensbedingungen verstoße

            Es ist eine ca. 50 Zeilige Funktion in einer php Datei. Ich poste mal den Anfang und das Ende das sollte ok sein.

            PHP-Code:
                            $tal $db->query_first("SELECT birthday,lastactivity FROM bb".$n."_users WHERE userid='$wbbuserdata[userid]'");
                
            $monatauslese substr($tal['birthday'],"5","2");
                
            $tagauslese substr($tal['birthday'],"8","2");
                
            $vergleichszeit mktime("23","59","59",$monatauslese,$tagauslese,date("Y"));
                if(
            $tal['lastactivity'] > $vergleichszeit) {
                
            $db->unbuffered_query("UPDATE bb".$n."_users SET newthread_geb='0' WHERE userid='$wbbuserdata[userid]'",1);
                }
                
            $newthread_geb_aktiv_or_not $db->query_first("SELECT aktiv FROM bb".$n."_newthread_geb");
                if(
            $newthread_geb_aktiv_or_not['aktiv'] == "1") {
                
            $currentdate formatdate("m-d"time());
                
            $currentyear intval(formatdate("Y"time()));
                
            $result $db->query("SELECT userid, username, birthday FROM bb".$n."_users WHERE birthday LIKE '%-$currentdate' AND activation = 1 ORDER BY username ASC");

            ..............
            MEHR CODE

                $db
            ->unbuffered_query("UPDATE bb".$n."_users SET userposts=userposts+1".(($rankid!=$wbbuserdata['rankid']) ? (", rankid='$rankid'") : (""))." WHERE userid = '$wbbuserdata[userid]'",1);
                }
                }
                
            $db->fetch_array($result);
                } 

            Kommentar

            Lädt...
            X