benutzerstatus abfragen bzw. vergleichen

In diesem Forum gibt es Starthilfe zum neuen Extension-System von phpBB 3.1/3.2. Fragen zur Entwicklung von Extensions und zur Konvertierung von phpBB 3.0.x MODs sind ebenfalls willkommen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

benutzerstatus abfragen bzw. vergleichen

Beitrag 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.
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von Mike-on-Tour »

Benutze einfach user_type, und dann prüfe auf USER_FOUNDER und USER_NORMAL, damit sind alle anderen draußen.
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von chris1278 »

Ok das ginge auch.werd mal testen.
Benutzeravatar
Kirk
Supporter
Supporter
Beiträge: 7878
Registriert: 24.05.2010 08:31
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag von Kirk »

Chris, probiere es mal mit USER_IGNORE
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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.
Benutzeravatar
IMC
Mitglied
Beiträge: 543
Registriert: 25.11.2018 20:32
Wohnort: Lüneburg
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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 ||.
Gruß, Thorsten
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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
69bruno
Mitglied
Beiträge: 445
Registriert: 05.06.2020 08:21

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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.....
Forum: cruiser-lounge.de
PHPBB-Version: 3.3.11 / Debian-Linux 10 / PHP-Version: 8.1
Benutzeravatar
chris1278
Mitglied
Beiträge: 3536
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: benutzerstatus abfragen bzw. vergleichen

Beitrag 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.
Verschoben von Coding & Technik nach Extension Bastelstube am 05.03.2024 17:57 durch LukeWCS

Antworten

Zurück zu „Extension Bastelstube“