N2O: Booleansche Funktion

Hallo allerseits,

ich möchte eine Funktion haben, die wie folgt aussehen könnte:

function user()
{
if ($_SESSION['user'] == $admin['user'] and $_SESSION['pass'] == $admin['pass'])
{
return true;
}
else
{
return false;
}

Bedeutet also: Wahr wenn User und Passwort richtig sind.

Diese Funktion möchte ich dann so benutzen:

if (user() === TRUE)
{
// mach was
}

Das funktioniert jedoch nicht.
Was kann ich tun? Bzw.: Hat jemand eine einfachere Lösung?

Gruß
Lachgas

  1. Halihallo N2O

    function user()
    {
    if ($_SESSION['user'] == $admin['user'] and $_SESSION['pass'] == $admin['pass'])
    {
    return true;
    }
    else
    {
    return false;
    }

    Ein Abschliessendes '}' fehlt. Du möchtest mit Einrücken arbeiten,
    dann wird sowas schnell sichtbar und erleichtert die Lesbarkeit des
    Codes.

    Bedeutet also: Wahr wenn User und Passwort richtig sind.

    Ja.

    Diese Funktion möchte ich dann so benutzen:
    if (user() === TRUE)
    {
    // mach was
    }

    Das funktioniert jedoch nicht.

    Fehlermeldung! Hast du PHP<4.x? - Dann gibt's nämlich den ===
    Vergleichsoperator nicht.

    Was kann ich tun? Bzw.: Hat jemand eine einfachere Lösung?

    Auf PHP4 upgraden, oder einfach:

    if (user()) {
       // mach was
    }

    schreiben.

    Viele Grüsse

    Philipp

    1. Hallo,

      Ein Abschliessendes '}' fehlt. Du möchtest mit Einrücken arbeiten,
      dann wird sowas schnell sichtbar und erleichtert die Lesbarkeit des
      Codes.

      Danke, aber das war ein Fehler beim Copy&Paste...
      Also, es funktioniert auch mit dem } nicht.

      :-/

      Gruß
      Lachgas

      1. Hallo,

        Danke, aber das war ein Fehler beim Copy&Paste...
        Also, es funktioniert auch mit dem } nicht.

        Gibt die Funktion überhaupt das erwartete Resultat zurück?

        Gruß,
        Severin

        --
        They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
        -- Benjamin Franklin
      2. Hallo N2O,

        Geh mal auf Lulus Posting ein, was liefert dir print_r($_SESSION)?

        Gruß,

        Dieter

        1. Hallo!

          Geh mal auf Lulus Posting ein, was liefert dir print_r($_SESSION)?

          Mein Problem ist ja: Wenn ich
          if ($_SESSION['user'] == $admina['user'] and $_SESSION['pass'] == $admina['pass'])
          {
          echo "Wahr!";
          }

          ausführe (an der selben Stelle), dann schreibt er Wahr!

          Merkwürdig, merkwürdig...

          Gruß
          Lachgas

          1. Hallo N2O,

            Was gibt
            if(user())
            {
              echo 'wahr';
            }
            else
            {
              echo 'false'
            }
            aus?

            Gruß,

            Dieter

            1. Was gibt
              if(user())
              {
                echo 'wahr';
              }
              else
              {
                echo 'false'
              }
              aus?

              Erwartungsgemäß den String "false".

              Nochmals :-/

              Gruß
              Lachgas

          2. hi,

            Mein Problem ist ja: Wenn ich
            if ($_SESSION['user'] == $admina['user'] and $_SESSION['pass'] == $admina['pass'])
            {
            echo "Wahr!";
            }

            ausführe (an der selben Stelle), dann schreibt er Wahr!

            und $admin statt $admina war jetzt auch wieder nur ein c&p-fehler, oder ...?

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Hallo,

              es ist wirklich Freitagabend und ich bin froh, dass ich jetzt nicht mehr PHP machen muss / kann / will, sondern mich anderen Dingen des menschlichen Lebens zuwenden kann ;-) Das sorgt zumeist für einen klaren Kopf.

              Der Fehler lag darin:

              $admina = mysql_fetch_array (mysql_query ("SELECT user, pass FROM admin;"));

              Das musste natürlich noch mit _in_ die Funktion! (Stand vorher davor)

              Sorry,

              Schönen Abend,

              Gruß
              Lachgas

              1. Hallo N2O,

                Schade, jetzt wollte ich gerade einen Monty-Python-Threadtrift vom Zaun brechen...

                Gruß,

                Dieter

                1. Schade, jetzt wollte ich gerade einen Monty-Python-Threadtrift vom Zaun brechen...

                  mach doch ;-)

                  Gruß, Andreas

                  --
                  SELFFORUM - hier werden Sie geholfen,
                  auch in Fragen zu richtiges Deutsch
              2. Hallo N2O,

                $admina = mysql_fetch_array (mysql_query ("SELECT user, pass FROM admin;"));

                das ist so ziemlich die schlechteste Lösung wie du einen Wert abfragen kannst. Besser wäre sowas wie:

                $query = 'SELECT user, pass FROM admin';
                  $rs = mysql_query($query,[Verbindungskennung]) or die('Fehler: '.mysql_error());
                  $admina = mysql_fetch_assoc($rs) or die('Fehler: '.mysql_error());

                • so bekommst du bei einem Fehler auch eine aussagekräftige Fehlermeldung ausgegeben.

                Grüße aus Nürnberg
                Tobias

            2. Hallo wahsaga,

              Erinnert mich ein bisschen an The Life of Brian

              STAN:
                  I want to be a woman. From now on, I want you all to call me 'Admina'.
              REG:
                  What?!
              LORETTA:
                  It's my right as a man.

              Gruß,

              Dieter

  2. Huhu

    function user()
    {
    if ($_SESSION['user'] == $admin['user'] and $_SESSION['pass'] == $admin['pass'])

    was steht denn im Array $admin drin ?

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
  3. N2O,

    eine Funktion, die wie folgt aussehen könnte:

    function user()
    {
      if ($bedingung)
      {
        return true;
      }
      else
      {
        return false;
      }
    }

    Die könnte dann aber einfach so aussehen:

    function user()
    {
      return ($bedingung)
    }

    Gunnar

    --
    "Nobody wins unless everybody wins." (Bruce Springsteen)