Counter Problem :(

kenn mich mit timestamps nicht so aus kann damit nicht so wirklich was anfangen ich kenne mehr die funktionen im quelltext aber nicht wie das heisst in der "fachsprache". Ja gut Y y unterscheidet sich aber versteh trotzdem nicht warum der da einmal 16.6.03 und einmal 15.6.2003 einträgt ich ahb doch nur einmal das datum ermittelt über

PHP:
$heute2 = time();
     $var = date("j.n.y", $heute2);

kann ich denn

PHP:
$var = date("j.n.y");

einfach machen um das datum heraus zu finden`?
 
ich verändere ja nichts dran da sind nur einmal im quelltext die oben geschriebenen 2zeilen. Aber er trägt nen 2. datensatz zu einem Tag ein. Woran kann das denn liegen??? An dem Quelltext ist doch so nichts falsch. Ich verstehs nicht. Und auf der url die du meintest da steht auch nicht mehr als ich nicht schon wusste... time() gibt mir ne zahl an wie z.b. sagen wir 163412819 aber da sind doch die minuten und so inbegriffen oder???
 
Ja da sind Stunden, Minuten und Sekudnen auch mit inbegriffen, aber es zwingt dich ja keiner, die auszugeben. Fakt ist, dass auch date eine timestamp Angabe als Argument übergeben bekommen möchte. Ob du ihm nun via time() den aktuellen timestamp oder irgendeinen gespeicherten aus der DB lieferst, ist der Funktion wurscht, deshalb ist sie ganz nett.
 
es geht ja nicht um die ausgabe weisste :) diese zeitangabe wird in ner db gespeichert. Dann wird überprüft welcher tag heute ist auf der seite und wenn der tag in der db drinne steht dann macht er user + 1 wenn nicht erstellt er sie und sagt user = 1. das wird auch gar nicht weiter ausgegeben. Ist ahlt nur nen vergleichsparameter sozusagen...
 
Ja super, das ist mit timestamps auch viel einfacher. Du guckst einfach welche timestamps im intervall time()-86400 (denn soviele Sekunden hat ein Tag) liegen und fertig. Das ganze ist viel einfacher anzupassen.
 
hmmm naja ich hab jetzt noch was anderes probiert. Im Moment läuft es noch. Ich habe es aber erst eben hochgeladen ich werde sehen wie lange es läuft. Ich hoffe mal das es jetzt reicht. Hab nämlich keine Lust mehr dauernd was zu versuchen :(
 
so also ich habe die variable $var jetzt aus den if schleifen genommen und sie also nur einmal bestimmt. Der Quelltext sieht damit jetzt so aus:
PHP:
    $DatabaseName = "daten";
    $DbHostName = "daten";
    $DbUserName = "daten";
    $DbPassWord = "daten";
    $var = strftime ("%Y-%m-%d", time ());
    $db = mysql_connect("$DbHostName", "$DbUserName", "$DbPassWord");
    if (ip_suche($REMOTE_ADDR)) //ip_suche überprüft ob ein Reload forlieg falls ja gibt
    {  
     $zahl = implode("",file("zahl2.txt"));  // sie false zurück und der Seitenaufruf
     echo "<b>".++$zahl."<b><br>";         //  wird nicht mitgezählt
     $dat = fopen("zahl2.txt","wb");
     fwrite($dat,"$zahl");
     fclose($dat);

     $res = mysql_db_query("$DatabaseName", "select datum,user FROM counter where datum='$var'");
     $num = mysql_num_rows($res);
     if ($num == 0)
     {
      $du = 0;
      $sqlab = "insert counter";
      $sqlab .= "(datum, user) values";
      $sqlab .= "('$var', '$du')";
      mysql_db_query("$DatabaseName", $sqlab);
      echo "<li>Besucher heute: $du</li>";
     }
     if ($num != 0)
     {
      $sqlab = "update counter set user=user+1 where datum='$var'";
      mysql_db_query("$DatabaseName", $sqlab);
      $result = mysql_db_query("$DatabaseName", "select datum,user FROM counter where datum='$var'");
      while($data = mysql_fetch_row($result))
      {
       $du = $data[1];
       echo "<li>Besucher heute: $du</li>";
      }
     }
    }
    else 
    {
     $zahl = implode("",file("zahl2.txt"));
     echo "<b>".$zahl."<b><br>";
     $res = mysql_db_query("$DatabaseName", "select datum,user FROM counter where datum='$var'");
     $num = mysql_num_rows($res);
     if ($num == 0)
     {
      $du = 1;
      $sqlab = "insert counter";
      $sqlab .= "(datum, user) values";
      $sqlab .= "('$var', '$du')";
      mysql_db_query("$DatabaseName", $sqlab);
      echo "<li>Besucher heute: $du</li>";
     }
     if ($num != 0)
     {
      $result = mysql_db_query("$DatabaseName", "select datum,user FROM counter where datum='$var'");
      while($data = mysql_fetch_row($result))
      {
       $du = $data[1];
       echo "<li>Besucher heute: $du</li>";
      }
     }     
    }
ja aber nach wie vor trägt er manchmal 2003-06-16 ein und manchmal 16.6.2003 was kann das nur sein???? das kann doch rein logisch gar nicht sein... Ich habe auch keine ähnlichen Variablen zuvor benutzt... Das ist doch ein Ding der Unmöglichkeit das der dann so ein wert einträgt oder?
 
Zurück