PHP-Problem... Zeit

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

  • PHP-Problem... Zeit

    Hallo,

    folgendes will ich erreichen.
    Ich habe eine mySQL Datenbank mit 3 Spalten:
    ip | zeit | datum

    So, jetzt will ich jede IP in diese Datenbank mit genauem Datum und Zeit eintragen:
    z.B:
    196.65.152.21 | 15:41:12 | 28.01.2003

    Der User darf erst in z.B. 15 Minuten wieder in dieser Datenbank eingetragen sein, sprich um 15:56:12.

    Wenn dies nicht der Fall ist und er sich innerhalb der Zeitspanne eintragen möchte, kommt eine Fehlermeldung.

    Danke Schön

  • #2
    dann mach das doch!

    Wenn nicht, dann such! (z.B. IP-Sperre, ...)

    SRY, aber musste sein!

    Kommentar


    • #3
      Hi,

      ich habe aber keine Ahnung von dem ganzen Zeit-Rechen-Plunder...

      Kann mir bitte jemand helfen?

      Kommentar


      • #4
        Bestimmt!

        Bei den Scriptgesuchen!!!

        *VERSCHIEB*

        Kommentar


        • #5
          Some hints and tips

          Code:
          + --------------+---------------------+
          | Tablename IPControl                 |
          + --------------+---------------------+
          | ipadr         | timein              |
          | character(17) | datetime            |
          + --------------+---------------------+
          | 196.65.152.21 | 2003-01-23 15:41:12 |
          + --------------+---------------------+
          $InsertQuery = "insert into IPcontrol values ('$_SERVER[REMOTE_ADDR]',now())";

          $DeleteQuery = "delete from IPcontrol where timein < DATE_SUB(now(), INTERVAL 15 minutes)";

          $SelectQuery = "select count(*) AS ANZAHL from IPcontrol where ipadr = '$_SERVER[REMOTE_ADDR]'
          AND timein > DATE_SUB(now(), INTERVAL 15 minutes)";

          http://www.mysql.com/doc/en/Date_and...functions.html

          Kommentar


          • #6
            Was hat bitte dieses Posting im Forum "Appz und Script Gesuche" zu suchen ... unter 'ner Applikation oder 'nen Script versteht man etwas anderes ... !

            Da hat wohl wieder ein Mod nervöse Finger gehabt ... !
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              s'is voll wurscht
              (mir zumindest)

              Kommentar


              • #8
                Mir halt nicht ... macher pfuscht halt etwas viel rum ...
                carpe noctem

                [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
                [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

                Kommentar


                • #9
                  Hallo,

                  ich komme mit der Hilfe nicht weiter...

                  $InsertQuery = "insert into IPcontrol values ('$_SERVER[REMOTE_ADDR]',now())";

                  $DeleteQuery = "delete from IPcontrol where timein < DATE_SUB(now(), INTERVAL 15 minutes)";

                  $SelectQuery = "select count(*) AS ANZAHL from IPcontrol where ipadr = '$_SERVER[REMOTE_ADDR]'
                  AND timein > DATE_SUB(now(), INTERVAL 15 minutes)";

                  Der trägt bei mir immer neue Datensätze ein, damit sind es keine 15 Minuten mehr sondern es geht ja immer länger, wenn der User versucht die Seite noch 3 Mal aufzurufen.
                  Weiterhin frage ich mich wie ich mit dem weiterarbeiten soll?
                  Wie soll ich hier eine Bedingung aufstellen?

                  if($SelectQuery <= 15){
                  echo "Sorry!";
                  }else{
                  echo "Du kannst wieder"
                  }

                  hat z.B. nicht gefunzt...

                  Danke!

                  Kommentar


                  • #10
                    Kannst du mal den kompletten code posten? also mit ausführung der query, etc.

                    @goth: aber wenn man zu faul zum suchen ist. Und dass sah mir eher nach "gib mir das Script" (okay, vielleicht besser Snippet) aus, als "wie mache ich ...?" In den beiden Posts waren keine Fragen (php-forum) sondern eher ne liste der funktionen (Scriptgesuch) vorhanden.

                    (soviel zu mir.)

                    Kommentar


                    • #11
                      Ich finde ne ip sperre nicht gut, was ist mit Firmennetzwerken etc. ?
                      Alle eine IP.
                      Einfaches Beispiel, nicht angemeldet User sollen bewerten können, aber nur einmal pro tag.

                      Ich mache so etwas dann über cookies. wenn keine cookies akzeptiert werden, dann kann er auch nichts machen.

                      Klar kann man cookies löschen, aber wer weiß das schon ? Aber ich schließe dann nicht alle die hinter der Ip stehen könnten aus !

                      Counter und so mache ich dann schon über ips

                      Tago
                      --------------------------------------
                      Nachts is kälter als draußen !

                      Kommentar


                      • #12
                        - Ansichtssache.
                        - Kommt auch auf die Zielgruppe an.
                        - Jedes Kind weiß, dass man Cookies löschen kann.
                        - In der Firma soll man arbeiten. Außerdem sieht man so, wer welche interessen hat.

                        Kommentar


                        • #13
                          Der komplette Code:

                          <?php

                          //Verbindung zur MySQL Datenbank
                          $dbhost = "localhost";
                          $dbuser = "*****";
                          $dbpw = "******";
                          $dbname = "******'";

                          //Verbindungsaufbau zur MySQL
                          mysql_connect($dbhost,$dbuser,$dbpw);

                          //Datenbankauswahl
                          mysql_select_db($dbname);

                          srand((double)microtime()*648106540098800098);
                          $endzahl = rand(1,9);

                          $InsertQuery = "insert into win_ipcontrol values ('$_SERVER[REMOTE_ADDR]',now())";
                          $DeleteQuery = "delete from IPcontrol where timein < DATE_SUB(now(), INTERVAL 15 minutes)";
                          $SelectQuery = "select count(*) AS ANZAHL from IPcontrol where ipadr = '$_SERVER[REMOTE_ADDR]'
                          AND timein > DATE_SUB(now(), INTERVAL 15 minutes)";

                          mysql_query($InsertQuery);
                          mysql_query($DeleteQuery);
                          mysql_query($SelectQuery);

                          if($SelectQuery < 15){
                          echo "Sorry!";
                          }else{
                          echo "ok!";
                          }

                          ?>

                          ciaooo!

                          Kommentar


                          • #14
                            Wie soll denn bitte

                            select count(*) AS ANZAHL from IPcontrol where ipadr = '$_SERVER[REMOTE_ADDR]'
                            AND timein > DATE_SUB(now(), INTERVAL 15 minutes)

                            kleiner als 15 sein???

                            Warum soll das kleiner als 15 sein?

                            Select Count (*) zählt die einträge, die in der DB vorhanden sind. Das heißt in deinem Fall solltest du entweder 1 oder 0 erhalten. deine Abfrage muss also heißen: wenn das ergebnis vom selectquery größer als >0 ist, dann kommt der Fehler.

                            Erkennst du deinen Fehler?

                            Kommentar


                            • #15
                              also ich würde es so lösen


                              + --------------+---------------------+
                              | Tablename win_ipcontrol |
                              + --------------+---------------------+
                              | ipadr | timein |
                              | char(17) | int(10) |

                              db<?php

                              //Verbindung zur MySQL Datenbank
                              $dbhost = "localhost";
                              $dbuser = "*****";
                              $dbpw = "******";
                              $dbname = "******'";

                              //Verbindungsaufbau zur MySQL
                              mysql_connect($dbhost,$dbuser,$dbpw);

                              //Datenbankauswahl
                              mysql_select_db($dbname);

                              srand((double)microtime()*648106540098800098);
                              $endzahl = rand(1,9);
                              $time_now = time();
                              $time_del = intval(time() - 60*15); //60 sec * 15 = 15min

                              $InsertQuery = "insert into win_ipcontrol values ('$_SERVER[REMOTE_ADDR]',$time_now)";
                              $DeleteQuery = "delete from win_ipcontrol where timein < $time_del)";
                              $SelectQuery = "select count(*) AS ANZAHL from win_ipcontrol where ipadr = '$_SERVER[REMOTE_ADDR]')";

                              mysql_query($InsertQuery);
                              mysql_query($DeleteQuery);
                              $erg = mysql_query($SelectQuery);


                              if(mysql_result($erg, 0, 0) > 0){
                              echo "Sorry!";
                              }else{
                              echo "ok!";
                              }

                              ?>
                              --------------------------------------
                              Nachts is kälter als draußen !

                              Kommentar

                              Lädt...
                              X