guelcki: Notice: Undefined index: REMOTE_ADDR ?

Hi!

Hab mir ein PHP Skript für eine User Authentication runtergeladen. Wenn ich das Skript nutzen möchte, wird folgende Fehlermeldung ausgegeben: Notice:

Undefined index: REMOTE_ADDR in ...

Die entsprechende Zeile im Quelltext ist:

$this->db->query("INSERT INTO $this->session_table VALUES '$sesscode',".time().",'".$GLOBALS['REMOTE_ADDR']."',NULL)");

Diese Fehlermeldung (von wegen undefined Index) hatte ich schon öfter, wenn ich Skripte eingebunden habe, und in den Skripten auf die Variablen zum Beispiel mit $_GET und ähnliches zugegriffen wird.

Liegt das an einer falschen Konfiguration von Apache oder PHP? Ich nutze die WAMPP 13 Installation. Register_globals habe ich auf off gesetzt.

Vielen Dank für die Hilfe im Vorraus
guelcki

  1. Guten Abend! :)

    Versuch mal statt $GLOBALS['REMOTE_ADDR'] nur $REMOTE_ADDR.
    Allerdings kann der Fehler auch an der DB liegen ...

    Hi!

    Hab mir ein PHP Skript für eine User Authentication runtergeladen. Wenn ich das Skript nutzen möchte, wird folgende Fehlermeldung ausgegeben: Notice:

    Undefined index: REMOTE_ADDR in ...

    Die entsprechende Zeile im Quelltext ist:

    $this->db->query("INSERT INTO $this->session_table VALUES '$sesscode',".time().",'".$GLOBALS['REMOTE_ADDR']."',NULL)");

    Diese Fehlermeldung (von wegen undefined Index) hatte ich schon öfter, wenn ich Skripte eingebunden habe, und in den Skripten auf die Variablen zum Beispiel mit $_GET und ähnliches zugegriffen wird.

    Liegt das an einer falschen Konfiguration von Apache oder PHP? Ich nutze die WAMPP 13 Installation. Register_globals habe ich auf off gesetzt.

    Vielen Dank für die Hilfe im Vorraus
    guelcki

    1. Moin!

      Guten Abend! :)

      Versuch mal statt $GLOBALS['REMOTE_ADDR'] nur $REMOTE_ADDR.
      Allerdings kann der Fehler auch an der DB liegen ...

      Autsch! Ein Tiefschlag-Posting!

      guelcki hatte ausdrücklich angegeben, dass er register_globals auf off gesetzt hat - erwartest du da im Ernst, dass die Variable $REMOTE_ADDR dann gesetzt wird?

      Zweitens: Die Fehlermeldung hat er mit angegeben - also muss man nicht raten, woran es liegt, sondern kann es direkt sagen. Es kann also nicht an der DB liegen, weil der Fehler das nicht aussagt.

      Außerdem produziertest du TOFU.

      - Sven Rautenberg

      --
      "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)
      1. N'abend!

        Ich gebe auch keine Garantie darauf, dass meine Antworten 100%ig richtig sind, sondern poste mit der Intention zu helfen, nich aus Fame-Geilheit und ich bin nich perfekt, d.h. ich hab längst nich ausgelernt und werde das auch nie, genausowenig wie die anderen Leute. Wieso nimmst du dir dann das Recht raus, über meine Fehler in so einer Weise zu urteilen, indem du mir meine scheinbare Blödheit unter die Nase reibst? Kannst du keine Fehler aktzeptieren? Nich deine eigenen und somit auch nich die der anderen oder wieso so herablassend? Nur, weil du anders denkst, andere Erfahrungen gesammelt hast und die Dinge anders siehst, kannst du nich erwarten, dass andere genauso sind. Wie ich schon in nem anderen Posting gesagt hatte: Es gibt einen gewaltigen Unterschied zw. konstruktiver und destruktiver Kritik. Und viele haben den scheinbar nich erkannt.
        Lass deinen Stolz und Ego bitte zuhause, wenn du in ein Forum gehst!

        Danke, Mario

  2. Hallo guelcki,

    $this->db->query("INSERT INTO $this->session_table VALUES '$sesscode',".time().",'".$GLOBALS['REMOTE_ADDR']."',NULL)");

    vielleicht $_SERVER["REMOTE_ADDR"]?

    Grüße aus Nürnberg
    Tobias

  3. Moin!

    Hab mir ein PHP Skript für eine User Authentication runtergeladen. Wenn ich das Skript nutzen möchte, wird folgende Fehlermeldung ausgegeben: Notice:

    Undefined index: REMOTE_ADDR in ...

    Diese Nachricht will dir sagen, dass der Hash-Index 'REMOTE_ADDR' im Hash $GLOBALS nicht enthalten ist. PHP gibt für undefinierte Indices einen Leerstring aus - das Script wird wahrscheinlich nicht wie vorgesehen funktionieren.

    Die entsprechende Zeile im Quelltext ist:

    $this->db->query("INSERT INTO $this->session_table VALUES '$sesscode',".time().",'".$GLOBALS['REMOTE_ADDR']."',NULL)");

    Du mußt herausfinden, in welcher Servervariablen die Adresse des Clients gespeichert ist. Ein potentiell gute Kandidat ist $_SERVER['REMOTE_ADDR'], und ein guter Weg, das schnell herauszufinden, ist der Befehl phpinfo(INFO_VARIABLES).

    Diese Fehlermeldung (von wegen undefined Index) hatte ich schon öfter, wenn ich Skripte eingebunden habe, und in den Skripten auf die Variablen zum Beispiel mit $_GET und ähnliches zugegriffen wird.

    Es ist keine direkte Fehlermeldung, sondern nur ein Hinweis. Er ist gut, weil zur Entwicklungszeit eines Skriptes gerne man auf undefinierte Indices zugegriffen wird, weil man sich z.B. verschrieben hat. Solche Fehler sind ohne Hinweise nicht leicht zu finden.

    Wenn du dein System nicht zum Selbstentwickeln von Skripten einsetzt, kannst du den Level heraufsetzen, ab der PHP meckert. Ich hab die Option nicht im Kopf, sie ist aber in der php.ini zu finden (einfach im Texteditor nach "error" suchen).

    Liegt das an einer falschen Konfiguration von Apache oder PHP? Ich nutze die WAMPP 13 Installation. Register_globals habe ich auf off gesetzt.

    Nicht "falsch", einfach nur "anders".

    - Sven Rautenberg

    --
    "Bei einer Geschichte gibt es immer vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das, was wirklich passiert ist." (Rousseau)