EneR: IP über PHP rausfinden

Hallo,
ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.
Ich würde mich sehr freuen wenn der Antwort ein Beispiel beigefügt währ :)

  1. Hallo,
    ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.
    Ich würde mich sehr freuen wenn der Antwort ein Beispiel beigefügt währ :)
    Achso und wenn Ihr grad noch auf meine Site kucken könntet:

    aypac.de/GAME/
    und mir sagen könntet wie ich (bein Login-Bereich) die schwarzen Linien im Rahmen wegbekomme würde ich mich sehr sehr freuen!!!

  2. Also die IP ist in der Variable

      
    $_SERVER['REMOTE_ADDR']  
    
    

    gespeichert

    in wiefern hättest du gern ein beispiel?

    gruß
    flo

    1. Also die IP ist in der Variable

      $_SERVER['REMOTE_ADDR']

      
      >   
      > gespeichert  
      >   
      > in wiefern hättest du gern ein beispiel?  
      >   
      > gruß  
      > flo  
      >   
      
      Vielen DAnk!  
      Nein ich dachte das sei mit einem komplizierteren Befehl abzurufen, und nich das es dann heist "nimmt x-Befehle kombiniert mit dem y-Befehl" und ich kenne diese Befehle nicht...  
      Aber Ihre Atwort ist sehr gut, Vielen Dank!
      
  3. Hi,

    ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.

    Das halte ich für keine gute Idee. Was willst du machen, wenn zwei User die gleiche IP haben? Zum Beispiel wenn sie in der gleichen Firma/Schule sind. Dann wären beide zwingend als derselbe User eingeloggt.
    Eine bessere Lösung wäre die Verwendung von Sessions.

    Wenn du trotzdem noch die IP verwenden willst verwende: $_SERVER["REMOTE_ADDR"]

    mfG,
    steckl

    1. Hi,

      Was willst du machen, wenn zwei User die gleiche IP haben?

      ein noch größeres Problem stellen User mit ständig wechselnder IP dar wie insb. AOL-Kunden.

      freundliche Grüße
      Ingo

    2. Hi,

      ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.

      Das halte ich für keine gute Idee. Was willst du machen, wenn zwei User die gleiche IP haben? Zum Beispiel wenn sie in der gleichen Firma/Schule sind. Dann wären beide zwingend als derselbe User eingeloggt.
      Eine bessere Lösung wäre die Verwendung von Sessions.

      Wenn du trotzdem noch die IP verwenden willst verwende: $_SERVER["REMOTE_ADDR"]

      mfG,
      steckl

      VIELEN DANK FÜR DIE ZAHLREICHEN ANTWORTEN

    3. Hi,

      ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.

      Das halte ich für keine gute Idee. Was willst du machen, wenn zwei User die gleiche IP haben? Zum Beispiel wenn sie in der gleichen Firma/Schule sind. Dann wären beide zwingend als derselbe User eingeloggt.
      Eine bessere Lösung wäre die Verwendung von Sessions.

      Wenn du trotzdem noch die IP verwenden willst verwende: $_SERVER["REMOTE_ADDR"]

      mfG,
      steckl

      Hallo,
      funktioniert, aber trotzdem bekomme ich folgende Fehlermeldung:

      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/web277/html/TEST/login.php:39) in /var/www/web277/html/TEST/login.php on line 46

      Warning: Cannot modify header information - headers already sent by (output started at /var/www/web277/html/TEST/login.php:39) in /var/www/web277/html/TEST/login.php on line 52

      Wie gesagt funktioniert trotzdem

      1. Hi,

        funktioniert, aber trotzdem bekomme ich folgende Fehlermeldung:

        Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /var/www/web277/html/TEST/login.php:39) in /var/www/web277/html/TEST/login.php on line 46

        Warning: Cannot modify header information - headers already sent by (output started at /var/www/web277/html/TEST/login.php:39) in /var/www/web277/html/TEST/login.php on line 52

        Wie gesagt funktioniert trotzdem

        Kann es sein, dass du session_start() nicht ganz am Anfang deines Scripts hast? Soweit ich weiß muss session_start() kommen, bevor irgendwas anderes (z.B. mit echo "bla bla bla", oder normaler html-code) an den Client geschickt wird.

        mfG,
        steckl

        1. Hallo

          Kann es sein, dass du session_start() nicht ganz am Anfang deines Scripts hast? Soweit ich weiß muss session_start() kommen, bevor irgendwas anderes (z.B. mit echo "bla bla bla", oder normaler html-code) an den Client geschickt wird.

          Jupp, da reicht schon eine an den Browser ausgegebene Leerzeile (also nur mit einem Zeilenumbruch), und schon ist es zu spät.

          Tschö, Auge

          --
          Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
          (Victor Hugo)
          <dingdong /><dingdong /><toc /><toc /><toc /><shout>Florence!</shout>
          Veranstaltungsdatenbank Vdb 0.2
  4. Hallo,
    ich bin grad dabei ein Browsergame zu programmieren, und um einen User über mehrere Siten zu erkennen, und nich immer einen submit-Button zur nächsten seite machen zu müssen, würd ich gerne den User per IP identifizieren, was dann gleich den positiven effekt hätte, dass sich jmd nicht doppelt einloggen kann.
    Ich würde mich sehr freuen wenn der Antwort ein Beispiel beigefügt währ :)

    Vielen Dank für die vilen Antworten!
    Ein Problem noch:
    wie kann ich auf einen der folgenden Seiten den $username wieder aufrufen um sql abrufe zu machen?

    1. echo $begrüßung;

      wie kann ich auf einen der folgenden Seiten den $username wieder aufrufen um sql abrufe zu machen?

      Die gängigste Methode hat steckl schon vorgeschlagen: Sessions.

      echo "$verabschiedung $name";

      1. echo $begrüßung;

        wie kann ich auf einen der folgenden Seiten den $username wieder aufrufen um sql abrufe zu machen?

        Die gängigste Methode hat steckl schon vorgeschlagen: Sessions.

        echo "$verabschiedung $name";

        Hallo,
        oh, entschuldigung! irgendwie wurde zumindest die begrüßung "abgeschnitten" das mit der verabschiedung hab ich vergessen! Sry! Aber wie rufe ich später (nachdem 1 millionen mal die seite aktualisiert  wurde ;) ) eine Variable wieder auf?

        Vielen Dank schon einmal im Vorraus, EneR (so gut?, Wie gesagt sry nochmal!)

        1. Hi,

          Aber wie rufe ich später (nachdem 1 millionen mal die seite aktualisiert  wurde ;) ) eine Variable wieder auf?

          hm also hab ich dich richtig verstanden du nutzt sessions ohne richtig verstanden zu haben was dir das eigentlich bringt?

          Auf jeden fall wird, wenn du eine Session gestartet hast, eine globale Variable definiert in den du alles mögliche reinschrieben kannst und nach endlichen reloads wieder aufrufen kannst. Diese Globale variable nennt sich passend $_SESSION nun kannst du einfach etwas hinein speichern also

          $_SESSION['test'] = 'ein toller test';

          nach endlichen reloads wenn der nutzer immer noch die gleiche session hat kannst du jederzeit auch so wieder auf diese zugreifen.

          um die sessions weiterzugeben wird ein cookie in den browser gesetzt und fals der user Cookies deaktiviert hat, musst du die sessionid einfach an jeden link anhängen auch dafür hat php eine globale Konstante vorgesehen SID diese kannst du an jeden link anhängen um die session seitenübergreifen weiter zu geben hat der user cookies aktiviert ist diese Konstante leer

          Aber das wird auch noch mal alles auf http://de.php.net/manual/de/ref.session.php

          1. Hi,

            Aber wie rufe ich später (nachdem 1 millionen mal die seite aktualisiert  wurde ;) ) eine Variable wieder auf?

            hm also hab ich dich richtig verstanden du nutzt sessions ohne richtig verstanden zu haben was dir das eigentlich bringt?

            Auf jeden fall wird, wenn du eine Session gestartet hast, eine globale Variable definiert in den du alles mögliche reinschrieben kannst und nach endlichen reloads wieder aufrufen kannst. Diese Globale variable nennt sich passend $_SESSION nun kannst du einfach etwas hinein speichern also

            $_SESSION['test'] = 'ein toller test';

            nach endlichen reloads wenn der nutzer immer noch die gleiche session hat kannst du jederzeit auch so wieder auf diese zugreifen.

            um die sessions weiterzugeben wird ein cookie in den browser gesetzt und fals der user Cookies deaktiviert hat, musst du die sessionid einfach an jeden link anhängen auch dafür hat php eine globale Konstante vorgesehen SID diese kannst du an jeden link anhängen um die session seitenübergreifen weiter zu geben hat der user cookies aktiviert ist diese Konstante leer

            Aber das wird auch noch mal alles auf http://de.php.net/manual/de/ref.session.php

            Moin nochmal!
            Ja Du/sie hatten Recht ich kannte/kenne mich nicht mit Sessions nicht aus!
            Also Vielen Dank für die Antworten und für den Link ;)

            1. n'Abend,

              Aber das wird auch noch mal alles auf http://de.php.net/manual/de/ref.session.php

              Ja Du/sie hatten Recht ich kannte/kenne mich nicht mit Sessions nicht aus!

              nur mal als allgemeiner Hinweis: Hier im Forum ist es durchaus üblich, dass die Teilnehmer sich gegenseitig duzen - es sei denn, jemand will das ausdrücklich nicht (ist aber sehr selten).

              Außerdem bitte ich dich, dir einen sinnvolleren Zitierstil anzugewöhnen: Zitiere bitte nur die Passagen, auf die du dich direkt beziehst, und nicht das komplette Vorposting. Damit wird's übersichtlicher, und man hat nicht die drei- oder vierfache Datenmenge im Archiv.

              Schönen Abend noch,
               Martin

              --
              Moskito, ergo summ.