[gelöst] PHP-Frage: Rollenabfrage?
Eingetragen von Ionit (1802)
am 26.09.2010 - 15:41 Uhr in
am 26.09.2010 - 15:41 Uhr in
Hallo,
mit folgendem Code gebe ich (in einem Block) auf dem Profil einer bestimmten Rolle einen Code aus.
<?php
if (arg(0) == 'user' && is_numeric(arg(1))) {
$user = user_load(arg(1));
if (in_array('Rolle1', $user->roles)) {
print ('Du bist Rolle1');
}
}
?>
Ich möchte diesen Code jetzt aber nicht nur auf dem Profil von Rolle1 sondern auch von Rolle2 ausgeben.
Nun dachte ich, dass man das einfach so schreiben kann.
if (in_array('Rolle1' OR 'Rolle2', $user->roles)) {
print ('Du bist Rolle1 oder Rolle2');
Leider funktioniert das aber nicht - kann man in "if (in_array)" keine OR-Angabe verwenden?
Danke schonmal
Gruß Matthias
- Anmelden oder Registrieren um Kommentare zu schreiben
in_array
am 26.09.2010 - 15:51 Uhr
Hallo.
kann man in "if (in_array)" keine OR-Angabe verwenden?
Ja richtig. "OR" hat an dieser Stelle überhaupt nichts verloren.
Schau Dir bei Gelegenheit die Dokumentation zu in_array() nochmal genauer an. Dort steht unter Anderem, dass die Funktion entweder einen einfachen Text oder ein Array als Suchparameter erwartet.
<?php
if (in_array('Rolle 1', $user->roles) || in_array('Rolle 2', $user->roles))
?>
bringt Dich dementsprechend weiter.
hth,
Stefan
Hallo Stefan, ich hätte
am 26.09.2010 - 16:01 Uhr
Hallo Stefan,
ich hätte wirklich einen Blick in die Dokumentation werfen sollen.
Danke für den Hinweis und die Hilfe - es funktionert jetzt wunderbar.
Schöne Grüße
Matthias