Gibt es eine Möglichkeit, Benutzerdaten wie Benutzer-ID, E-Mail usw. zu speichern, damit sie von allen Seiten einer Website aus zugänglich sind, nachdem sie sich angemeldet haben, aber ohne Sitzungen oder Cookies zu verwenden?
Zum Beispiel:
Klasse Benutzer
{
var $benutzerid;
var $benutzername;
var $email;
.. Methoden..
}
nachdem sie sich auf login.php angemeldet haben
$aktuellerBenutzer = new Benutzer($_POST['benutzername'])
jetzt, wie greife ich auf $aktuellerBenutzer von einer anderen Seite aus, wie index.php, zu, wenn ich überhaupt keine Sitzungen oder Cookies verwenden sollte?
damit ich in index.php folgendes tun könnte:
if ($aktuellerBenutzer->benutzerid > -1)
{
echo "Sie sind als angemeldet: " . $aktuellerBenutzer->benutzername;
}
else
{
echo "klicken Sie hier, um sich anzumelden";
}
Ich habe eine ähnliche Frage schon einmal gestellt, hier, aber die Antworten entsprachen nicht meinen Bedürfnissen.
0 Stimmen
Aber das ist der ganze Grund, warum wir Sitzungen verwenden. Kann ich fragen, warum Sie keine Sitzung oder keinen Cookie verwenden möchten?
0 Stimmen
@Sev: Warum nicht? Könnten Sie uns einen Grund geben, warum Sie es nicht verwenden möchten? Dann können wir Ihnen eine bessere Antwort geben.
0 Stimmen
@Sev: Sitzungen sind absolut der richtige Weg, um Dinge für die Internationalisierung für eine Benutzersitzung (z. B. für die gesamte Zeit, in der sie eingeloggt sind) zu globalisieren. Deshalb werden sie Sitzungen genannt. Allerdings sind sie nicht gut geeignet, um Dinge für nur eine Anfrage zu globalisieren, da sie speicherplatzseitig verschwenden, indem sie alles nach Abschluss der Anfrage speichern. Und ja, ich empfehle, Ihre Objekte in der Sitzung zu speichern. Meine Empfehlung, um Ihren OOP-Stil beizubehalten, ist es, ein Sitzungsobjekt (Singleton, vielleicht?) in Ihrer Sitzung zu speichern, um die Sitzung zu kapseln, und nur mit diesem zu interagieren. Siehe meine Antwort unten für ein schnelles Beispiel.
0 Stimmen
Sie können Benutzerdaten in etwas wie Memcache speichern, aber Sie müssen dem Benutzer einen bestimmten Cookie geben, damit Sie wissen, welcher Satz von Benutzerdaten aus dem Cache abgerufen werden soll.
0 Stimmen
@Frank: Was im Grunde genommen eine Sitzung wäre.
0 Stimmen
@Sev, wenn Sie wirklich an Best Practices interessiert sind, sehen Sie sich das an, es ist äußerst nützlich: odi.ch/prog/design/php/guide.php