würd gern an ein script was dranbasteln

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

  • würd gern an ein script was dranbasteln

    ich hab vor einiger zeit mal was gepostet von wegen counter und wann der letzte user online war usw. nur läuft das script komischwerweise nicht. egal was ich mach.

    jetzt hab ich mir ein counterscript runtergeladen - funktioniert super nur ich hab ein problem: die funktion "last user online" ist nicht dabei und ich weiß nicht wie ich sie mir genau dazustöpseln soll. das alte script das komischwerweise nicht gelaufen ist, war komplett anders aufgebaut.

    hier mal der code von dem downgeloadeten script:

    PHP-Code:
            <?php 
                  
    //                        Alxcount Version 2.3                          //
    //        Macht mit dem Code was ihr wollt! Druckt ihn aus und hängt    //
    //        ihn an die Wand, schenkt ihn euren Freunden zum Geburtstag    //
    //                 oder macht sonst was damit. Open-Source!             //
    //                   Updates und Infos gibts hier:                      //
    //        | [email]mail@alexo.net[/email] | icq# 104122845 | [url]www.alexo.net[/url] |           //

    // -- Verbindung zu MySQL Server herstellen (0 wenn Verbindung bereits besteht)--
    $mysql_connect 1;

    // -- MySQL Server (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
    $mysql_host "*****";

    // -- MySQL Benutzername (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
    $mysql_username "****";

    // -- MySQL Passwort (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
    $mysql_password "*****";

    // -- DB auswählen (0 wenn Datenbank bereits ausgewählt wurde)--
    $mysql_selectdb 1;

    // -- MySQL Datenbank (nur wenn 1 bei "DB auswählen")
    $mysql_database "yoz";

    // -- MySQL Tabelle für Besucher --
    $mysql_table "yoz_count_hits";

    // -- MySQL Tabelle für Besucher die online sind --
    $mysql_table2 "yoz_count_online";

    // -- Seitenabrufe speichern? 0 = keine Speicherung
    $count_pagehits 0;

    // -- MySQL Tabelle für Seitenabrufe (nur relevant wenn 1 bei "Seitenabrufe speichern") --
    $mysql_table3 "count_pagehits";

    // -- Dauer des maximalen Abstands von Seitenaufrufen um noch als online zu gelten in Sekunden --
    $onlinetime "120";

    // -- Dauer der-IP Sperre in Sekunden --
    $blockiptime "10800";

    // -- Startwert des Counter (Besuche die dazugezählt werden sollen) --
    $startcount "0";


    // -- Ab hier bis zur letzten Zeile nix mehr ändern --
    if($mysql_connect) {
        
    $connect mysql_connect("$mysql_host""$mysql_username""$mysql_password") or die ("Keine Verbindung zum MYSQL Server möglich.");
        }
    if(
    $mysql_selectdb) {
        
    $selectdb mysql_select_db("$mysql_database") or die ("Keine Verbindung zur MySQL Datenbank möglich.");
        }
    $install1 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table (id int(10) NOT NULL auto_increment,
                        datum varchar(14) NOT NULL,
                        ip varchar(15) NOT NULL,
                        PRIMARY KEY  (id)
                        )"
    );
    $install2 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table2 (datum varchar(14) NOT NULL,
                        ip varchar(15) NOT NULL
                        )"
    );
    if(
    $count_pagehits) {
        
    $install3 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table3 (hits int(11) NOT NULL
                        )"
    );                    
        }

    $deliptime time() - $blockiptime;
    $delonline time() - $onlinetime;
    $todayarray = array(
                
    date("d"time()),
                
    date("m"time()),
                
    date("Y"time())
                );
    $yesterdayarray = array(
                
    date("d", (time()-86400)),
                
    date("m", (time()-86400)),
                
    date("Y", (time()-86400))
                );
    $today mktime('0','0','0',$todayarray[1],$todayarray[0],$todayarray[2]);
    $yesterday mktime(0,0,0,$yesterdayarray[1],$yesterdayarray[0],$yesterdayarray[2]);
    $delblockedip mysql_query("update $mysql_table set ip = 'del' WHERE datum <= $deliptime");
    $ipcheck mysql_result(mysql_query("select count(*) from $mysql_table where ip = '".getenv(REMOTE_ADDR)."'"),0);
    if(
    $ipcheck == 0) {
        
    $inserthit mysql_query("insert into $mysql_table (datum, ip) values ('".time()."', '".getenv(REMOTE_ADDR)."')");
        }
    $hitsall mysql_result(mysql_query("select count(*) from $mysql_table"),0);
    $hitsall $hitsall $startcount;
    $hitstoday mysql_result(mysql_query("select count(*) from $mysql_table where datum <= ".time()." and datum >= '$today'"),0);
    $hitsyesterday mysql_result(mysql_query("select count(*) from $mysql_table where datum <= '$today' and datum >= '$yesterday'"),0);
    $onlinedelete mysql_query("delete from $mysql_table2 where datum <= '$delonline'");
    $onlinecheck mysql_fetch_array(mysql_query("select * from $mysql_table2 where ip = '".getenv(REMOTE_ADDR)."'"));
    if(
    $onlinecheck) {
        
    $onlineupdate mysql_query("update $mysql_table2 set datum = ".time()." where ip = '".getenv(REMOTE_ADDR)."'");
        }
    else {
        
    $onlineinsert mysql_query("insert into $mysql_table2 (datum, ip) values ('".time()."','".getenv(REMOTE_ADDR)."')");
        }
    $onlineuser mysql_result(mysql_query("select count(*) from $mysql_table2"),0);
    if(
    $count_pagehits) {
        
    $sqlpagehits = @mysql_result(mysql_query("select hits from $mysql_table3"),0);
        if(!
    $sqlpagehits) { $install32 mysql_query("insert into $mysql_table3 (hits) values (1)"); }
        
    $pagehits $sqlpagehits 1;
        
    $pagehitsupdate mysql_query("update $mysql_table3 set hits='$pagehits'");
        }
    ?>
            <!-- hier kann die Ausgabe geändert werden --> 
            <table width="10%" border="0" cellpadding="0" cellspacing="0">
              <tr> 
                <td colspan="2"><div align="center"><font color="#666666" size="2" face="Tahoma">stats</font></div></td>
              </tr>
              <tr> 
                <td width="55%"><font color="#666666" size="2" face="Tahoma">online</font></td>
                <td width="45%"><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$onlineuser"); ?></font></div></td>
              </tr>
              <tr> 
                <td><font color="#666666" size="2" face="Tahoma">today</font></td>
                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitstoday"); ?></font></div></td>
              </tr>
              <tr> 
                <td><font color="#666666" size="2" face="Tahoma">yesterday</font></td>
                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitsyesterday"); ?></font></div></td>
              </tr>
              <tr> 
                <td><font color="#666666" size="2" face="Tahoma">overall</font></td>
                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitsall"); ?></font></div></td>
              </tr>
              <tr> 
                <td><font color="#666666" size="2" face="tahoma">last</font></td>
                <td><div align="right"><font color="#666666" size="2" face="Tahoma"> 
                    </font></div></td>
              </tr>
            </table>
    wie könnt ich mir da ganz unten dazubasteln, dass er mir nur die zeit ausgibt wann der letzte user online war. wenns geht in unserer zeitzone also gmt+1 glaub ich.

    ich wär schon für ansätze sehr dankbar.

    hoff ihr könnt mir helfen

  • #2
    mehr als ansätze wirst du hier wahrscheinlich auch nicht bekommen. aber wo ist dein problem?

    speicher bei jedem besuch datum und uhrzeit (DATETIME) in die Datenbank.

    dann liest du das ganze wieder aus und gibst es aus.

    Kommentar


    • #3
      hab die abfrage so gemacht:
      PHP-Code:
      $date_last mysql_result(mysql_query("select datum from $mqsql_table where ip != '".getenv(REMOTE_ADDR)."' order by id desc limit 1,1"),0);
      $datum date("H:i"$date_last); 
      Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/virtual/site8/fst/home/rainer/public_html/privat/yoz/index2.php on line 152


      ps: das sind die zeilen 152 und 153

      Kommentar


      • #4
        mysql_error() ???

        Kommentar


        • #5
          was meinst du mit mysql_error?
          ich weiß dass das ein fehler is nur ich weiß ned woran es liegt...

          Kommentar


          • #6
            Naja, wie gesagt: Ein paar Grudlagen braucht man schon.

            Bei einem Wort/String des folgenden Formats "name()" sollte man eigentlich auf die idee kommen, dass es sich evtl. um eine Funktion handeln könnte....

            Kommentar


            • #7
              ok ok ok - für was gibts google

              PHP-Code:

              Warning
              mysql_result(): supplied argument is not a valid MySQL result resource in /home/virtual/site8/fst/home/rainer/public_html/privat/yoz/index2.php on line 155
              Fehler in Zeile 155 in 
              /home/virtual/site8/fst/home/rainer/public_html/privat/yoz/index2.php 
              Konnte Einträge nicht löschen
              MySQL
              -ErrorYou have an error in your SQL syntaxCheck the manual that corresponds to your MySQL server version for the right syntax to use near 'where ip != '62.46.27.96' order by id desc limit 1,1' at line 1 
              ps: ich weiß nicht ob die reihenfolge stimmt.

              select -> from -> where -> order by -> limit

              und darf ich da eh das zeichen != verwenden?

              nur ein tut bei dem so viel verknüpft wird hab ich nicht gefunden im php manual

              Kommentar


              • #8
                normaler mensch nimmt das Manual :P

                Kommentar


                • #9
                  poste mal die komplette query

                  Kommentar


                  • #10
                    ok mal hier den kompletten quellcode

                    PHP-Code:
                    <html>
                    <head>
                    <title>Unbenanntes Dokument</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                    </head>

                    <body bgcolor="#000000" topmargin="0" leftmargin="0">
                    <table width="100%" border="0" cellspacing="0" cellpadding="0">
                      <tr> 
                        <td width="38%" height="448"><img src="images/code****************.gif" width="300" height="448"></td>
                        <td width="38%" valign="top"><p align="center">&nbsp;</p>
                          <p align="center">&nbsp;</p>
                          <p align="center">&nbsp;</p>
                          <p align="center">&nbsp;</p>
                          <p align="center">&nbsp;</p>
                          <p align="center"><font color="#FFFFFF" face="Tahoma">want to enter yoz...<br>
                            <a href="yoz.htm" style="text-decoration:none" onmouseover="status='click to enter';return true;">klick 
                            here</a></font></p></td>
                        <td width="24%" valign="top"><p align="right">&nbsp;</p>
                          <table width="100%" border="0">
                            <tr>
                              <td><font color="#FFFFFF" face="Tahoma"><strong><font size="2">Freitag, 
                                12. Juni '04</font></strong><br>
                                <font size="1">Aerodrome Pics</font></font></td>
                            </tr>
                            <tr>
                              <td><img src="images/dot.JPG" width="80" height="1"></td>
                            </tr>
                            <tr>
                              <td><font color="#FFFFFF" face="Tahoma"><strong><font size="2">Freitag, 
                                11. Juni '04</font></strong><br>
                                <font size="1">Keine Aerodrome Pics</font></font></td>
                            </tr>
                            <tr>
                              <td><img src="images/dot.JPG" width="80" height="1"></td>
                            </tr>
                          </table></td>
                      </tr>
                      <tr> 
                        <td height="1" colspan="3"><img src="images/dot.JPG" width="100%" height="1"></td>
                      </tr>
                      <tr> 
                        <td height="1px" colspan="3"><div align="center"> 
                            <?php 
                                  
                    //www.alexo.net

                    // -- Verbindung zu MySQL Server herstellen (0 wenn Verbindung bereits besteht)--
                    $mysql_connect 1;

                    // -- MySQL Server (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
                    $mysql_host "xxx";

                    // -- MySQL Benutzername (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
                    $mysql_username "xxx";

                    // -- MySQL Passwort (nur wenn 1 bei "Verbindung zu MySQL Server herstellen") --
                    $mysql_password "xxx";

                    // -- DB auswählen (0 wenn Datenbank bereits ausgewählt wurde)--
                    $mysql_selectdb 1;

                    // -- MySQL Datenbank (nur wenn 1 bei "DB auswählen")
                    $mysql_database "yoz";

                    // -- MySQL Tabelle für Besucher --
                    $mysql_table "yoz_count_hits";

                    // -- MySQL Tabelle für Besucher die online sind --
                    $mysql_table2 "yoz_count_online";

                    // -- Seitenabrufe speichern? 0 = keine Speicherung
                    $count_pagehits 0;

                    // -- MySQL Tabelle für Seitenabrufe (nur relevant wenn 1 bei "Seitenabrufe speichern") --
                    $mysql_table3 "count_pagehits";

                    // -- Dauer des maximalen Abstands von Seitenaufrufen um noch als online zu gelten in Sekunden --
                    $onlinetime "120";

                    // -- Dauer der-IP Sperre in Sekunden --
                    $blockiptime "10800";

                    // -- Startwert des Counter (Besuche die dazugezählt werden sollen) --
                    $startcount "0";


                    // -- Ab hier bis zur letzten Zeile nix mehr ändern --
                    if($mysql_connect) {
                        
                    $connect mysql_connect("$mysql_host""$mysql_username""$mysql_password") or die ("Keine Verbindung zum MYSQL Server möglich.");
                        }
                    if(
                    $mysql_selectdb) {
                        
                    $selectdb mysql_select_db("$mysql_database") or die ("Keine Verbindung zur MySQL Datenbank möglich.");
                        }
                    $install1 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table (id int(10) NOT NULL auto_increment,
                                        datum varchar(14) NOT NULL,
                                        ip varchar(15) NOT NULL,
                                        PRIMARY KEY  (id)
                                        )"
                    );
                    $install2 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table2 (datum varchar(14) NOT NULL,
                                        ip varchar(15) NOT NULL
                                        )"
                    );
                    if(
                    $count_pagehits) {
                        
                    $install3 mysql_query("CREATE TABLE IF NOT EXISTS $mysql_table3 (hits int(11) NOT NULL
                                        )"
                    );                    
                        }

                    $deliptime time() - $blockiptime;
                    $delonline time() - $onlinetime;
                    $todayarray = array(
                                
                    date("d"time()),
                                
                    date("m"time()),
                                
                    date("Y"time())
                                );
                    $yesterdayarray = array(
                                
                    date("d", (time()-86400)),
                                
                    date("m", (time()-86400)),
                                
                    date("Y", (time()-86400))
                                );
                    $today mktime('0','0','0',$todayarray[1],$todayarray[0],$todayarray[2]);
                    $yesterday mktime(0,0,0,$yesterdayarray[1],$yesterdayarray[0],$yesterdayarray[2]);
                    $delblockedip mysql_query("update $mysql_table set ip = 'del' WHERE datum <= $deliptime");
                    $ipcheck mysql_result(mysql_query("select count(*) from $mysql_table where ip = '".getenv(REMOTE_ADDR)."'"),0);
                    if(
                    $ipcheck == 0) {
                        
                    $inserthit mysql_query("insert into $mysql_table (datum, ip) values ('".time()."', '".getenv(REMOTE_ADDR)."')");
                        }
                    $hitsall mysql_result(mysql_query("select count(*) from $mysql_table"),0);
                    $hitsall $hitsall $startcount;
                    $hitstoday mysql_result(mysql_query("select count(*) from $mysql_table where datum <= ".time()." and datum >= '$today'"),0);
                    $hitsyesterday mysql_result(mysql_query("select count(*) from $mysql_table where datum <= '$today' and datum >= '$yesterday'"),0);
                    $onlinedelete mysql_query("delete from $mysql_table2 where datum <= '$delonline'");
                    $onlinecheck mysql_fetch_array(mysql_query("select * from $mysql_table2 where ip = '".getenv(REMOTE_ADDR)."'"));
                    if(
                    $onlinecheck) {
                        
                    $onlineupdate mysql_query("update $mysql_table2 set datum = ".time()." where ip = '".getenv(REMOTE_ADDR)."'");
                        }
                    else {
                        
                    $onlineinsert mysql_query("insert into $mysql_table2 (datum, ip) values ('".time()."','".getenv(REMOTE_ADDR)."')");
                        }
                    $onlineuser mysql_result(mysql_query("select count(*) from $mysql_table2"),0);
                    if(
                    $count_pagehits) {
                        
                    $sqlpagehits = @mysql_result(mysql_query("select hits from $mysql_table3"),0);
                        if(!
                    $sqlpagehits) { $install32 mysql_query("insert into $mysql_table3 (hits) values (1)"); }
                        
                    $pagehits $sqlpagehits 1;
                        
                    $pagehitsupdate mysql_query("update $mysql_table3 set hits='$pagehits'");
                        }
                        
                    function 
                    error($line,$file,$string,$error=""){  
                      
                    $fehler "<b>Fehler in Zeile ".$line." in ".$file."</b> ";
                      
                    $fehler .= "<br>" $string "<br>";
                      if(
                    $error$fehler .= "<b>MySQL-Error:</b> "$error;
                      die(
                    $fehler);
                      }
                        
                    $date_last mysql_result(mysql_query("select datum from $mqsql_table where ip != '".getenv(REMOTE_ADDR)."' order by id desc limit 1,1"),0) or error(__LINE__,__FILE__,"Konnte Eintr&auml;ge nicht l&ouml;schen",mysql_error());
                    $datum date("H:i"$date_last);
                    ?>
                            <!-- hier kann die Ausgabe geändert werden --> 
                            <table width="10%" border="0" cellpadding="0" cellspacing="0">
                              <tr> 
                                <td colspan="2"><div align="center"><font color="#666666" size="2" face="Tahoma">stats</font></div></td>
                              </tr>
                              <tr> 
                                <td width="55%"><font color="#666666" size="2" face="Tahoma">online</font></td>
                                <td width="45%"><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$onlineuser"); ?></font></div></td>
                              </tr>
                              <tr> 
                                <td><font color="#666666" size="2" face="Tahoma">today</font></td>
                                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitstoday"); ?></font></div></td>
                              </tr>
                              <tr> 
                                <td><font color="#666666" size="2" face="Tahoma">yesterday</font></td>
                                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitsyesterday"); ?></font></div></td>
                              </tr>
                              <tr> 
                                <td><font color="#666666" size="2" face="Tahoma">overall</font></td>
                                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$hitsall"); ?></font></div></td>
                              </tr>
                              <tr> 
                                <td><font color="#666666" size="2" face="tahoma">last</font></td>
                                <td><div align="right"><font color="#666666" size="2" face="Tahoma"><?php print("$datum"); ?></font></div></td>
                              </tr>
                            </table>
                            </div>
                        </td>
                      </tr>
                    </table>

                    </body>
                    </html>

                    und hier nochmal um die zeile um die sich alles dreht:

                    PHP-Code:

                    $date_last 
                    mysql_result(mysql_query("select datum from $mqsql_table where ip != '".getenv(REMOTE_ADDR)."' order by id desc limit 1,1"),0) or error(__LINE__,__FILE__,"Konnte Eintr&auml;ge nicht l&ouml;schen",mysql_error());
                    $datum date("H:i"$date_last); 
                    der fehler nochmal

                    Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/virtual/site8/fst/home/rainer/public_html/privat/yoz/index2.php on line 155
                    Fehler in Zeile 155 in /home/virtual/site8/fst/home/rainer/public_html/privat/yoz/index2.php
                    Konnte Einträge nicht löschen
                    MySQL-Error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'where ip != '62.46.27.96' order by id desc limit 1,1' at line 1

                    ps die tabelle hat bei datum und ip varchar als typ. falls das etwas damit zu tun hat.

                    Kommentar


                    • #11
                      HUHU!!! Query != Quelltext!!! mach den quelltext mal da weg. Oder besser alles, mich interessiert ja nur die Query = Abfrage, die du an die DB sendest. Bitte auch keinen Variablen-Salat.

                      Kommentar


                      • #12
                        hmmm ok - weiß zwar ned genau was du meinst aber 1)

                        PHP-Code:
                        select datum from $mqsql_table where ip != '".getenv(REMOTE_ADDR)."' order by id desc limit 1,
                        und 2. in worten.

                        nimm alle datumsen von tabelle sowieso bei denen nicht meine ip drinnen is, ordne sie und nimm das tatum vom vorletzten eintrag. und das spuckst mir aus.
                        später wird das in ein gscheites format umgewandelt (weil es is timestamp) und ausgegeben

                        EDIT:
                        ich hoff das is was du meinst

                        Kommentar


                        • #13
                          okay: 1 ist ja schonmal nah dran. Allerdings ist das das von mir angesprochene Variablen-salat. könntest du das ganze bitte noch parsen lassen.

                          also lass dir das im browser ausgeben, so dass die variablen ersetzt werden.

                          Kommentar


                          • #14
                            ok also erstmal weiß ich leider ned was du meinst
                            weil wenn ich den ausdruck mit echo ausgeben will gibts Parse errors - also keine ahnung . ich ersetz mal die variablen händisch wenn es das ist was du willst


                            select datum from yoz_hits where ip != '64.126.8.1' order by id desc limit 1,1

                            Kommentar


                            • #15
                              select datum from yoz_hits where ip != '64.126.8.1' order by id desc limit 1,1

                              ist was ich meine. allerdings sollte dir diese query keinen syntax-fehler liefern.

                              Kommentar

                              Lädt...
                              X