Seite 1 von 5

benutzerstatus abfragen bzw. vergleichen

Verfasst: 14.02.2024 21:51
von chris1278
Hallo. Also wenn ich das hier innerhalb einer if Anweisung nutze:

Code: Alles auswählen

$this->user->data['user_id'] != ANONYMOUS


Also z.B. so:

Code: Alles auswählen

if ($this->user->data['user_id'] != ANONYMOUS)
{
	echo 'Benutzer ist nicht Gast (Anonymus)';
}
Würde jeder der nicht als Gast auf der Seite ist diese Meldung sehen. Das war ja nur ein Beispiel.

Wie lautet denn die Anweisung ist kein bot

Ich möchte eine Ab Reihenfolge ausführen wenn zwei Bedingungen passen.

Benutzer ist kein Gast oder Benutzer ist keine Suchmaschine. Wie schon oben beschrieben die Prüfung auf Gast habe ich ja schon.

Vielleicht kann mir jemand sagen wie man prüft ob der Besucher ein Bot ist. Diese Berechtigung weis ich leider auch nicht wie man das testen könnte.

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 15.02.2024 08:33
von Mike-on-Tour
Benutze einfach user_type, und dann prüfe auf USER_FOUNDER und USER_NORMAL, damit sind alle anderen draußen.

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 15.02.2024 08:49
von chris1278
Ok das ginge auch.werd mal testen.

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 18.02.2024 21:08
von Kirk
Chris, probiere es mal mit USER_IGNORE

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 18.02.2024 21:18
von chris1278
Danke kirk hab schon die lösung:

Code: Alles auswählen

if ($this->user->data['user_type'] == USER_NORMAL || $this->user->data['user_type'] == USER_FOUNDER && $this->user->data['user_id'] != ANONYMOUS)

Das schliesst das gut ein was ich brauche. So wird der nur ausgeführt wenn regestreiert oder gründer ist und wenn kein gast ist.

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 18.02.2024 23:38
von IMC
Kann sein das ich mich bei der Interpretation deiner Abfrage irre.
Wenn nicht, musst du Eventuell noch eine Klammer setzen. Der Operator && ist im Rang höher als das ||.

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 19.02.2024 07:06
von chris1278
Das könnte man auch so schreiben:

Code: Alles auswählen

if ($this->user->data['user_type'] == USER_NORMAL or $this->user->data['user_type'] == USER_FOUNDER and $this->user->data['user_id'] != ANONYMOUS)

die erstzen nur das or oder das and

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 19.02.2024 11:02
von 69bruno
Warum wird denn noch darauf geprüft, ob die UserID != ANONYMOUS ist ?

Wenn ich positiv geprüft habe, ob es sich um einen normalen User oder um den Gründer handelt, dann kommt ANONYMOUS doch gar nicht mehr in Frage.... das hier:

Code: Alles auswählen

if ($this->user->data['user_type'] == USER_NORMAL or $this->user->data['user_type'] == USER_FOUNDER)
würde dann doch vollkommen ausreichen, oder ?

EDIT:
Ich verstehe auch nicht, warum ['user_id'] "ANONYMOUS" sein soll, bei mir ist die ID des ANONYMOUS-Users "1". Wenn da ['user_name'] stehen würde, dann würde ich das verstehen.....

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 19.02.2024 15:09
von chris1278
Also Bruno die ID wird über die Konstante in der konstant. PHP von Forum selber generiert daher ist das eine globale konstante die einfach nur die ID des Users rausgibt sprich in dem Fall die ID des Gastes/anonymus.

Und in dem Fall wird der geprüft ist der Benutzer registriert oder ist der Benutzer Gründer und eben zusätzlich wird noch geprüft ob es nicht der Gast ist weil auch der Gast im Grunde ein normaler Benutzer ist

Re: benutzerstatus abfragen bzw. vergleichen

Verfasst: 19.02.2024 16:26
von Mike-on-Tour
chris, das ist falsch. Der Gast hat den user_type == 2, damit ist er bei der Abfrage nach USER_NORMAL und USER_FOUNDER automatisch draußen, der zusätzlichen Abfrage nach dem && bedarf es also nicht, wie von 69runo korrekt bemerkt.