Isset(...) liefert immer false

Isset(...) liefert immer false

am 19.10.2006 16:03:12 von Joerg Trumpfheller

Hallo Leute,

Kann mir jemand sagen, warum ich hier immmer nur false zurückkriege?
Variable wird in einer Form gesetzt und ist vorhanden.

$msg =3D "";
$errMsg =3D "";
$checked =3D 0;

// Check if username is allowed
$allowed_users =3D array(
"joerg", "Karl", "Marx"
);

// Checken ob Parameter 'user' gesetzt ist
if (isset($_GET['user']))
{
// Parameter ist gesetzt
$value =3D strtolower($_GET['user']);
var_dump($value); // Gibt string(5) "joerg"
// Prüfen ob Parameterwert erlaubt ist
var_dump(isset($allowed_users[$value])); // Gibt bool(false) aus
if (isset($allowed_users[$value]))
{
// Parameterwert ist erlaubt
$checked =3D 1;
}
else
{=20
$errMsg =3D "User not in list";
$checked =3D 0;=20
}=20
}=20

Jörg

Re: Isset(...) liefert immer false

am 19.10.2006 16:09:51 von Ulf Kadner

Joerg Trumpfheller schrieb:

> Kann mir jemand sagen, warum ich hier immmer nur false zurückkriege?
> Variable wird in einer Form gesetzt und ist vorhanden.

> $msg = "";
> $errMsg = "";
> $checked = 0;
> $allowed_users = array("joerg", "Karl", "Marx");
> // Checken ob Parameter 'user' gesetzt ist
> if (isset($_GET['user']))
> {
> $value = strtolower($_GET['user']);
> var_dump($value); // Gibt string(5) "joerg"
> var_dump(isset($allowed_users[$value])); // Gibt bool(false) aus

Logisch! 'joerg' existiert in $allowed_users nicht als Schlüssel sondern
nur als Wert. Du initialisiers das array als numisch indiziertes Array
und willst es dann als assoziatives Nutzen.

Du suchst nach in_array()

MfG, Ulf

Re: Isset(...) liefert immer false

am 19.10.2006 16:50:30 von Joerg Trumpfheller

Hallo Ulf,

ist mir auch gerade aufgefallen, nachdem ich lesenderweise die inArray
Funktion gefunden habe. Oops.

Ulf Kadner schrieb:
> Du suchst nach in_array()
>=20
> MfG, Ulf

Jörg