Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Counter script, kleiner OOP fehler?

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Counter script, kleiner OOP fehler?

    class/Counter.php
    Code:
    <?php
    include("connect.php");
    
    class Counter
    {
      function show($var)
      {
        $tag = time()*60*60*24;
        $sql = mysql_query("SELECT \''.$var.'\' FROM `Behnke_counter_daten` WHERE `tag` = \''.$tag.'\' ");
        /*if (mysql_num_rows($sql) != "1"){
        $sql = "0";
        }*/
        
        return $sql;
      }
      function addstats()
      {
        $tag = time()*60*60*24;
        $monat = time()*60*60*24*12;
        $sql = mysql_query("SELECT * FROM `Behnke_counter_daten` ORDER BY `tag` DESC LIMIT 0, 10");
        $Counter = mysql_fetch_array($sql);
        
        if($Counter['tag'] == $tag)
        {
            $besucher = $Counter['besucher'] + 1;
            $sql2 = mysql_query("UPDATE `Behnke_counter_daten` SET `besucher` == \''.$besucher.'\'");
        }
        else
        {
            $sql2 = mysql_query("INERT INTO `Behnke_counter_daten` ('tag', 'monat', 'besucher') VALUES (\''.$tag.'\', \''.$monat.'\', '1')");
        }
      }
    }
    ?>
    index.php
    Code:
    <?php
    include("class/connect.php");
    require("class/Counter.php");
    
    $Counter = new Counter();
    
    //Besucher adden
    $Counter->addstats();
    
    //Ausgabe
    $time = time();
    $besucher = besucher;
    echo date("j-m-y H:i", $time);
    echo $Counter->show($besucher);
    
    ?>
    class/connect.php
    Code:
    Meine Daten und connect zur DB!
    Ausgabe: LINK

    Mein Problem: eigentlich sollte er ja immer einen dazu zählen (immoment noch ohne Sperre), oder wenn ein neuer tag ist einen insert machen!
    Er gibt aber nichts außer dem Datum aus..
    Danke :wink: (plz help!)

  • #2
    Dir wird so wohl keiner helfen, du musst das Problem schon eingrenzen.

    Kommentar


    • #3
      Hmm..
      wenn ich wüsste wo der Fehler liegt würd ich nicht schreiben
      Also es ist ein Counter ohne Sperre, der einfach nur das Datum und bei jedem Seitenaufruf einen dazuzählen würde!
      Leider kommt aber nur das Datum, und auch in der MySQL wird nix geschrieben!

      p.s.: OOP ist neu(er) für mich!

      Kommentar


      • #4
        mysql_error .... schonmal probiert?

        Kommentar


        • #5
          Ich hab ihn bei index.php unten reingefügt!
          Er gibt sogal was aus ihr könnt euch das oben bei meinem Link angucken..
          Hat einer ne Idee?

          Kommentar


          • #6
            Ich hab ihn bei index.php unten reingefügt!
            Bringt dir garnix, bei jedem mysql_query musst du mögl. Fehler abfangen.


            Beim UPDATE ist ein = zuviel
            Beim INSERT nimmst du plötzlich ' für Feldtrenner statt `

            Kommentar


            • #7
              Juhu endlich antwortet einer
              @DiBo33 danke das du dich damit befasst hast

              Den ersten Fehler hat ich schon gefunden,
              danke für den zweiten!
              Die Ausgabe oben also der Link ist aktualisiert,
              es gibt immernoch einen Mysql error!

              Kommentar


              • #8
                Zitat von Behnke
                es gibt immernoch einen Mysql error!
                Lass Dir Deine Query doch mal ausgeben:
                PHP-Code:
                <? echo "SELECT \''.$var.'\' FROM `Behnke_counter_daten` WHERE `tag` = \''.$tag.'\' "; ?>
                Na, alles wie erwartet?

                Kommentar


                • #9
                  Ja der schreibt mir den Kram da hin. SELECT blabla,
                  ka was du damit bezwecken willst.
                  p.s.: Den Fehler hab ich schon gefunden, fallst du den meinst
                  PHP-Code:
                  "SELECT `\''.$var.'\'` FROM `Behnke_counter_daten` WHERE `tag` = \''.$tag.'\' "
                  Aber ich glaub auch es liegt an meine show funktion! Sie scheint dumm zu sein ich werde sie überarbeiten und mir was besseres einfallen lassen

                  Kommentar


                  • #10
                    PHP-Code:
                    <?php
                    $tag 
                    time()*60*60*24
                    $monat time()*60*60*24*12
                    ?>
                    muss sein:
                    PHP-Code:
                    <?php
                    $tag 
                    time()+60*60*24
                    $monat time()+60*60*24*12
                    ?>
                    habe den fehler ja schon gesehen als ich die frage noch nicht mal gelesen hatte ^^

                    [EDIT]
                    *hach* ein monat beträgt etwa 30 tage, und nicht 12 ^^'
                    also:
                    PHP-Code:
                    <?php
                    $tag 
                    time()+60*60*24
                    $monat time()+60*60*24*30
                    ?>

                    Kommentar


                    • #11
                      Zitat von Behnke
                      Ja der schreibt mir den Kram da hin. SELECT blabla
                      Man könnte die Vorschläge anderer durchaus ausprobieren, wenn man es selber nur zu einem 'blabla' bringt.

                      Kommentar

                      Lädt...
                      X