IP adden

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

  • IP adden

    Hi,
    ich habe mein C++ Programm nun so gestaltet, das es den Usern ermöglicht mich per Chat zu benachrichtigen.
    Nur dazu brauchen sie Tag für Tag meine neue IP.
    Und da ich sie nicht immer Manuell in die Textbox schreiben und hochladen will, wollte ich frage ob mir jemand einen php Code schreiben kann,
    indem folgendes Passiert:
    Ich klicke den Link zu meiner php an.
    Die php erfasst meine IP und schreibt sie in "ip.txt"
    Und zwar immer untereinander.
    Sprich nach 3 Tagen sieht die "ip.txt" so aus:
    84.123.456.789
    84.987.654.321
    85.123.654.789
    usw...
    Wenn nun aber schon meine neue IP geaddet bzw. daruntergeschrieben wurde, dann soll er mit anzeigen: "Fehler" Oder so.
    Halt das er die komplette "ip.txt" überprüft, ob schon meine IP vorhanden ist, wenn ja, dann "FEHLER" wenn nicht, dann adden meine IP.

    Ich hoffe es ist nicht all zu schwer und einer schreibt mir dieses.
    da ich keine Ahnung von php hab -.-

    Vielen Vielen Danke an den Helfer.

    PS: Programmiere müssen ja zusammen halten

  • #2
    eindeutig das falsche forum! und *verschieb*

    fopen und Konsorten müssten eigentlich ausreichen für sowas... Vielleicht kommst du damit schon weiter.

    Kommentar


    • #3
      Öhm...

      Falsches Forum?
      Ist das hier nicht ein "PHP-FORUM" ?
      Dann eben net... -.-
      Wo wird mir denn nu geholfen?

      Danke

      Kommentar


      • #4
        OffTopic:
        Das war das PHP-DEVELOPER-Forum, da du aber den Code von jemandem anderes geschrieben haben willst, habe ich dich in "Projekthilfe" verschoben...

        Kommentar


        • #5
          Hmmm...hab das spasshalber mal probiert eben, aber irgendwie ist da was faul.

          PHP-Code:
          $ips = array();
          $ip $_SERVER['REMOTE_ADDR'];
          $handle fopen ("ip.txt","r+") or die ("Öffnen fehlgeschlagen !");
          while ((
          $data fgets ($handle1000)) != FALSE )
            {
            
          array_push($ips$data);
            }
          if (
          in_array($ip$ips))
            {
            echo 
          "Diese IP ist bereits vorhanden !";
            }
          else
            {
            
          fwrite($handle$ip);
            
          fwrite($handle"\r\n");
            echo 
          "Neue IP erfolgreich eingetragen !";
            }
          fclose($handle); 
          Hab jetzt kreuz und quer probiert, in_array sollte so auch korrekt sein aber dennoch wird die IP immer wieder in meine ip.txt geschrieben obwohl sie schon x-mal vorhanden ist

          Kommentar


          • #6
            viel zu viel arbeit

            PHP-Code:
            $ip $_SERVER['REMOTE_ADDR'];
            $ips file('ips.txt');

            if(
            in_array($ip,$ips))
              die(
            'IP schon vorhanden!');
            else
            {
              
            $handle fopen ('ips.txt','a') or die ('Öffnen fehlgeschlagen!');
              
            fwrite($handle,$ip "\r\n") or die('Schreiben fehlgeschlagen!');
              
            fclose($handle);

              echo 
            'Neue IP erfolgreich eingetragen!';

            ungetestet, basierend auf Tommys Code.
            EDIT:
            Gerade schon zwei Tippfehler berichtigt. Sollte wohl eher als Pseudo-Code bezeichent werden


            EDIT:
            Anmerkung: Jede Zeile in dem resultierenden Array enthält das Zeilenende, weshalb Sie trim() verwenden müssen, falls der Zeilenumbruch nicht vorhanden sein soll.

            Zuletzt geändert von TobiaZ; 06.11.2005, 20:49.

            Kommentar


            • #7
              Joa, sieht ganz so aus als hätte ich zuviel geschrieben Aber mich würde dennoch brennend interessieren, wieso mein in_array nicht greift ?

              Wenn du dazu eine Idee hast, lass es mich wissen

              EDIT : Solltest die Datei auch wieder schliessen, oder ? (fclose)

              Kommentar


              • #8
                Wenn du dazu eine Idee hast, lass es mich wissen
                Wenn du erstmal n print_r() für mich hast.

                Geschlossen!

                Kommentar


                • #9
                  Hm...

                  Also es funktioniert soweit, das er jede IP einträgt.
                  Aber er zeigt immer einen Fehler an:

                  Warning: file(ips.txt): failed to open stream: No such file or directory in /usr/export/www/vhosts/funnetwork/hosting/hendrickmeister/test.php on line 4

                  Warning: in_array(): Wrong datatype for second argument in /usr/export/www/vhosts/funnetwork/hosting/hendrickmeister/test.php on line 5
                  Neue IP erfolgreich eingetragen!


                  Und dann macht er auch immer die selbe IP rein.
                  Sprich ich werde mit der selben IP jedesmal wieder eingetragen.

                  Aber ansonsten erstmal vielen Dank

                  Kommentar


                  • #10
                    PHP-Code:
                    if(Du beziehst dich auf meinen code?)
                      echo 
                    'Existiert die entsprechende Datei?'

                    Kommentar


                    • #11
                      @TobiaZ :

                      print_r($ip) liefert mir immer wieder 127.0.0.1
                      print_r($ips) liefert

                      PHP-Code:
                      Array ( [0] => 127.0.0.1 [1] => 127.0.0.1 [2] => 127.0.0.1 [3] => 127.0.0.1
                       
                      [4] => 127.0.0.1 [5] => 127.0.0.1 [6] => 127.0.0.1 [7] => 127.0.0.1 
                      [8] => 127.0.0.1 [9] => 127.0.0.1 [10] => 127.0.0.1 [11] => 127.0.0.1 
                      [12] => 127.0.0.1 [13] => 127.0.0.1 [14] => 127.0.0.1 [15] => 127.0.0.1 
                      [16] => 127.0.0.1 [17] => 127.0.0.1 [18] => 127.0.0.1 [19] => 127.0.0.1 
                      Folglich müsste mein in_array doch stimmen ? Ich meine, ich hab mir ein seperates kleines script geschrieben, in dem ich ein array mit variablen gefüllt und dann in_array angewendet habe. Da passt alles....

                      Btw. was meinst du mit "Geschlossen!" ?

                      Kommentar


                      • #12
                        Btw. was meinst du mit "Geschlossen!" ?
                        EDIT : Solltest die Datei auch wieder schliessen, oder ? (fclose)

                        Kommentar


                        • #13
                          Also der Code:
                          PHP-Code:
                          $ip $_SERVER['REMOTE_ADDR'];
                          $ips file('ips.txt');

                          if(
                          in_array($ip,$ips))
                            die(
                          'IP schon vorhanden!');
                          else
                          {
                            
                          $handle fopen ('ips.txt','a') or die ('Öffnen fehlgeschlagen!');
                            
                          fwrite($handle,$ip "\r\n") or die('Schreiben fehlgeschlagen!');
                            
                          fclose($handle);

                            echo 
                          'Neue IP erfolgreich eingetragen!';

                          Funzt ja ganz gut.
                          Aber die Fehlermeldung und das er die selbe IP mehrmals annimmt,
                          stört mich noch.
                          Kann wer den Fehler beheben?
                          Das wär echt super.

                          Danke

                          Kommentar


                          • #14
                            Ja, siehe mein 2. Edit im Ursprungscode. Muss halt noch ne kleine schleife rein.

                            @Tommy: Das wird vermutlich auch bei dir der Fehler sein, hab deinen Code grad nicht vor augen. Aber probiers mal aus.

                            That's debugging!

                            Kommentar


                            • #15
                              BTW: Warum brauchst du überhaupt die alten IPs?

                              Kommentar

                              Lädt...
                              X