Seite 1 von 1

User nicht eingeloggt - idealste Lösung?

Verfasst: 21.08.2005 14:08
von S2B
Hi @all,
zuerst mal ein bisschen Code:

Code: Alles auswählen

if (!$userdata['session_logged_in'])
{

}
und

Code: Alles auswählen

if ($userdata['user_id'] == ANONYMOUS)
{

}
Bei diesen Codestückenkommen bei mir 2 Fragen auf:
  • Welche Methode sollte man am besten verwenden?
  • Gibt es einen Unterschied zwischen den beiden Methoden?
Ich hoffe, dass mich jemand aufklären kann. :wink:

Verfasst: 21.08.2005 15:14
von kratzer54847
es gehen AFAIK beide Methoden, wobei Erstere von phpBB standartmäßig verwendet wird und daher auch in eigenen phpBB-betreffenden Scripten eingesetzt werden sollte.

Verfasst: 22.08.2005 02:06
von cYbercOsmOnauT
Beide Abfragen führen etwas aus, wenn der User "Gast" (ANONYMOUS) oder halt "noch nicht eingeloggt" ist. Der Unterschied besteht nur aus der Abfrage. Die Wirkung ist jedoch dieselbe.

Ein registrierter User, der sich noch nicht eingeloggt hat, ist auch "noch" Gast.

Ich selber verwende immer Version 1 mit der session_logged_in.

Grüße,
Tekin

Verfasst: 22.08.2005 02:22
von aurexiol
Die Variante 1 ist theoretisch schneller, da keine Zeichenkette, wie in Variante 2 verglichen werden muss.

Das macht sich praktisch im hier zu Grunde liegenden Umfeld jedoch nicht bemerkbar.

Verfasst: 22.08.2005 13:34
von S2B
OK, danke für eure Einschätzungen, ich werde wahrscheinlich trotzdem weiter die 2. Methode verwenden, aber zumindest weiß ich jetzt definitiv, dass es egal ist. :D

Verfasst: 22.08.2005 13:58
von kellanved
Ich würde zu ersterer Möglichkeit raten: in einem funktionierenden Board ist es egal, aber wenn z.B. der anonymous Eintrag in der Datenbank fehlt, wird die zweite Methode nicht mehr richtig funktionieren. (IIRC)

Verfasst: 22.08.2005 14:20
von S2B
Anommander Rake hat geschrieben:Ich würde zu ersterer Möglichkeit raten: in einem funktionierenden Board ist es egal, aber wenn z.B. der anonymous Eintrag in der Datenbank fehlt, wird die zweite Methode nicht mehr richtig funktionieren. (IIRC)
Aber trotzdem kann man davon ausgehen, dass der Anonymous-User in der Datenbank vorhanden ist. :wink: Hast du schon ein Board gesehen, bei dem dieser Eintrag fehlte?

Verfasst: 22.08.2005 14:26
von kellanved
Ja, einige. Dieser Eintrag verschwindet gerne plötzlich und "ohne Zutun :wink: " aus der Datenbank.

Und die entstehenden Fehler sind dann gerne sehr esoterisch - dauert eine Weile, bis man darauf kommt, daß gar kein Fehler mit dem Modeinbau vorliegt.

Aber Du hast schon recht: man kann eigentlich darauf vertrauen, da ohne den Eintrag auch sonst vieles nicht funktioniert (Registrieren, als Musterbeispiel).

Verfasst: 23.08.2005 22:22
von rabbit
S2B hat geschrieben:Aber trotzdem kann man davon ausgehen, dass der Anonymous-User in der Datenbank vorhanden ist. :wink: Hast du schon ein Board gesehen, bei dem dieser Eintrag fehlte?
jede menge sogar, nämlich besonders solche, die von einer anderen software auf phpBB konvertiert sind. die konverter sind hier scheinbar fehlerhaft, da der user mit der id -1 nicht erstellt wird.

ein tool dazu: Groups Repair Tool

Verfasst: 24.08.2005 00:56
von S2B
Hmm, ok, dann werd ich mich vielleicht doch umgewöhnen (müssen). :wink: Danke für die Info. :)