IP-Sperre funktioniert nicht

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

  • IP-Sperre funktioniert nicht

    Morgen allerseits.

    Ich bin gerade an einer Reload - Sperre....nur langsam bin ich mit meinen Nerven am Ende...
    Ich hab eine Tabelle, die heisst nextbook_entries mit unter anderem einem Feld IP (varchar(20)) und einem Feld datum (datetime).
    Nun bei jedem Update soll das Programm schauen ob in den letzten 120 sec jemand mit der selben IP schon einen Eintrag gemacht hat...sollte klar sein. :
    PHP-Code:
    $ip $_SERVER['REMOTE_ADDR'];
    $sql "SELECT_*_FROM_nextbook_entries_WHERE_IP=\'$ip\'_AND_date_add(datum,_INTERVAL_120_SECOND)>NOW()"
    $res=mysql_query($sql$conn); // <-- Das hier gefällt ihm nicht!!!
    $zwischenres mysql_num_rows($res);
    if (
    $zwischenres 0)
        {
                print 
    "Nicht schon wieder...du hast soeben einen Eintrag gemacht.";
        }
    else
        {
        
    // DB - Updaten
        

    Nun es kommt immer dieser Fehler: atal error: Call to undefined function: _mysql_query().
    Also connected hat er richtig, alles andere geht sonst.
    PHP-Version ist 4.3.0...
    Hoffe ihr könnt mir helfen!
    Danke schonmal.

    P.S.: die $sql - Zeile zeigt er hier im Forum nicht richtig an, ist natürlich jeweils ohne '_' ...
    mfg
    SKar

    visit http://www.uht-traktor.ch

  • #2
    PHP-Code:
    $ip $_SERVER['REMOTE_ADDR'];
    $sql "SELECT_*_FROM_nextbook_entries_WHERE_IP='$ip'_AND_date_add(datum,_INTERVAL_120_SECOND)>NOW()"
    $res=mysql_query($sql$conn); // <-- Das hier gefällt ihm nicht!!!
    while ($zwischenres=mysql_fetch_array($res)) {

    if (
    $zwischenres["IP"] > 0)
        {
                print 
    "Nicht schon wieder...du hast soeben einen Eintrag gemacht.";
        }
    else
        {
        
    // DB - Updaten
        
    }

    [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

    Kommentar


    • #3
      Danke für deine Antwort.
      Aber auch das funktioniert nicht. Es kommt wieder ein Error, diesesmal heisst es 'unexpected T_STRING', und zwar in der 'while-Zeile'.

      Die While - Schleife darf man doch so oder so nicht nehmen, sonst erstellt er ja bei jedem Durchlauf einen Eintrag ins GB (sofern die IP nicht gleich ist..)
      mfg
      SKar

      visit http://www.uht-traktor.ch

      Kommentar


      • #4
        naja, klar kannst du das auch ohne schleife machen. es geht ja nur ums daten holen, wie soll er da ein update machen?
        poste mal den code inklusive db-struktur oder hängs an.

        eddi
        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

        Kommentar


        • #5
          upsi, hab das was übersehen.
          PHP-Code:
          $ip $_SERVER['REMOTE_ADDR'];
          $sql"SELECT_*_FROM_nextbook_entries_WHERE_IP='$ip'_AND_date_add(datum,_INTERVAL_120_SECOND)>NOW()"
          $res=mysql_query($sql$conn); // <-- Das hier gefällt ihm nicht!!!
          $zwischenres=mysql_fetch_array($res);

          if (
          $zwischenres["IP"] > 0)
              {
                      print 
          "Nicht schon wieder...du hast soeben einen Eintrag gemacht.";
              }
          else
              {
              
          // DB - Updaten
              

          Zuletzt geändert von mister_x1; 15.02.2003, 20:00.
          [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

          Kommentar


          • #6
            Hi mister_x1,

            Die Ip-Sperre funktioniert unterdessen...Ich hatte noch eine Klammer vergessen das wars auch schon..Danke für deine Hilfe!
            mfg
            SKar

            visit http://www.uht-traktor.ch

            Kommentar


            • #7
              na dann, lass mal sehen!
              mfg
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #8
                Voilà:
                PHP-Code:
                //gibt es bereits einen Eintrag mit dieser IP in den letzten 120 sec's ??
                $ip $_SERVER['REMOTE_ADDR'];
                $dbanfrage "SELECT IP FROM `nextbook_entries` WHERE IP='$ip'
                AND date_add(datum, INTERVAL 120 SECOND)>NOW()"
                ;
                $result mysql_query($dbanfrage$conn);
                              
                //den letzten Eintrag auslesen um zu verhindern das genau das gleiche nochmals gepostet wird
                $dbanfrage2 "SELECT text FROM `nextbook_entries` ORDER by id DESC LIMIT 1";
                $result2 mysql_query($dbanfrage2$conn);
                while (
                $test mysql_fetch_array($result2MYSQL_ASSOC)){$lastentry $test["text"];}

                //$f_text ist das Formular-feld mit dem Text
                if ((!mysql_fetch_row($result)) && ($lastentry != $f_text))
                    {     
                     
                $dbanfrage "INSERT INTO `nextbook_entries` (`id`, `name`, `email`, `homepage`, `datum`, `text`, `IP`)
                 VALUES ('', '
                $f_name', '$f_email', '$f_homepage', NOW(), '$f_text', '$ip')";
                        if (
                mysql_query($dbanfrage$conn)) 
                            {
                                print 
                "<div align='center'>Datenbankupdate erfolgreich.<br></div>";
                            }
                        else 
                            {
                                print 
                "<div align='center'>Während dem aktualisieren der Datenbank traten Probleme auf!</div>";
                            }
                    }
                else
                    {
                        print 
                "Nicht schon wieder...du hast soeben einen Eintrag gemacht";
                    } 
                Zusätzlich wird noch überprüft ob der letzte Eintrag verschieden vom aktuellen ist. Somit wird nichts eingetragen wenn z.B. mit F5 aktualisiert wird. Wichtig ist, dass das 'datum'-Feld vom Typ DATETIME ist....sonst funktioniert date_add nicht.
                mfg
                SKar

                visit http://www.uht-traktor.ch

                Kommentar

                Lädt...
                X