mod_fcgid: stderr: PHP Notice: Undefined index: uid

isaack

Mitglied
Hallo,

ich habe ein Problem, was eigentlich kein wirkliches ist.
bei mir auf der seite, lasse ich eine abfrage zum user immer wieder per ajax ausführen. diese sieht so aus:
Code:
$(document).ready(function() {
       $("#acceptedHashes").load("con/akzeptiert.php");
       var refreshId = setInterval(function() {
          $("#acceptedHashes").load('con/akzeptiert.php?nick=<?php echo $_SESSION['nickname'];?>&uid=<?php echo $_SESSION['uid'];?>');
       }, 500);
    });
jetzt bekomme ich allerdings immer wieder folgende fehlermeldung in der error.log:

[Thu Nov 16 08:56:04.548216 2017] [fcgid:warn] [pid 28702] [client 91.89.235.174:54922] mod_fcgid: stderr: PHP Notice: Undefined index: uid in ???/con/akzeptiert.php on line 6

in der entsprechenden Zeile steht folgendes:
PHP:
if(!is_numeric($_GET['uid'])){
   $uid = 0;
}else{
   $uid = $_GET['uid'];
}
das ding ist jetzt allerdings das es trotzdem funktioniert. mache ich vor der if ein echo mit $_GET['uid'] bekomme ich auch den wert ausgegeben. nur halt in der if kommt immer der fehler.
es wird ja auch der richtige wert nach der if ausgegeben.
es stört halt bloß ungemein, die fehlermeldung in der log, da sie aller 1,5 sekunden wieder kommt.

kann mir hier einer sagen was los ist?
danke schonmal für die antworten
 
Hallo, Hast du $uid vor dem if-Statement deklariert?

SQL:
$uid = 0;
if(is_numeric($_GET['uid']))
{
   $uid = $_GET['uid'];
}
So sollte der Fehler nicht mehr kommen.
 
uid wird ja in der if deklariert.
wenn ich das im script habe, dann steht ja auch if(!is_numeric($_GET['uid'])) in der zeile 6. also denk ich mal eher das er wegen $_GET['uid'] meckert.
 
Kann es sein, dass du die akzeptiert.php ohne Parameter aufrufst? Passt der Logeintrag zeitlich zu deinem Aufruf?
 
ja das passt alles.
es geht ja auch alles wunderbar. ohne probleme. nur halt der fehler in der log. das macht mich schon irgendwie stutzig.
 
Wenn es dich wirklich stört, kannst du folgendes probieren:

PHP:
if(!isset($_GET['uid']) || !is_numeric($_GET['uid']))
{
  //.....
}

oder mit dem Dampfhammer:
PHP:
if(@!is_numeric($_GET['uid']))
{
  //.....
}

Die Seite fand ich ganz hilfreich.
 
Zurück