Supportnet Computer
Planet of Tech

Supportnet / Forum / Skripte(PHP,ASP,Perl...)

2 akzeptable Bedingungen in einer If-Abfrage in PHP





Frage

Hallo! Ich möchte in PHP einen Login erstellen. Soweit funktioniert auch alles, aber nur mit einem User. Wenn ich also 2 User habe, dann muss ich per Code 2 Bedingungen abfragen (User1-Kennwort1 ODER User2-Kennwort2). Nur, wie bringe ich dieses "oder" in die If-Abfrage? Code sieht so aus: if ($username == 'user1' && $passwort == 'kennwort1') { $_SESSION['angemeldet'] = true; ... } Nach 'kennwort1' muss jetzt die oder-Abfrage, also die prüft, ob nicht doch 'user2' und 'kennwort2' eingegeben wurden. Kann mir jemand weiterhelfen? Wäre cool.

Antwort 1 von Supermax

Ich würde in diesem Fall Username/Paßwortpaare als Array definieren, und dieses in einer Schleife abfragen, also


$zugangsdaten = array(
   'username1' => 'passwort1',
   'username2' => 'passwort2'
);
foreach($zugangsdaten as $un => $pw) {
   if ( ($username == $un) && ($passwort == $pw) ) {
      $_SESSION['angemeldet'] = true;
      break;
   }
}


Das hat den Vorteil, daß du einfach nur das Array erweitern mußt, um weitere Benutzer hinzuzufügen.

Du solltest darüber hinaus nicht die globalen Variaben $username und $passwort verwenden, sondern besser $_POST['username'] und $_POST['passwort']. Dies ist nicht nur sicherer, sondern dient auch dazu, daß deine Seite auch mit zukünftigen PHP-Versionen kompatibel bleibt.

Antwort 2 von schorschilein

ich würds so machen:

$user = array(
'username1' => 'passwort1',
'username2' => 'passwort2'
);
if(isset($user[$username]) && $user[$username]==$passwort)
{
$_SESSION['angemeldet'] = true;
...
}


Antwort 3 von ricc

Perfekt! Auf ein Array wär ich gar nicht gekommen.
Danke :-)

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: