Was steht in der Session Variable
Was steht in der Session Variable
Hallo zusammen,
kann mir jemand helfen? Ich werde gefragt was in der Session-Variable steht wenn sich jemand im Fronten einloggt.
Er fragt so: "... Was steht in der Session-Variable? Steht dort die User-ID, oder der Name, oder die Email-Adresse, etc…?..."
Ich finde nur den Session-Namen. Aber das Cookie hat doch einen Inhalt, oder?
Grüße, stefkey
kann mir jemand helfen? Ich werde gefragt was in der Session-Variable steht wenn sich jemand im Fronten einloggt.
Er fragt so: "... Was steht in der Session-Variable? Steht dort die User-ID, oder der Name, oder die Email-Adresse, etc…?..."
Ich finde nur den Session-Namen. Aber das Cookie hat doch einen Inhalt, oder?
Grüße, stefkey
-
- Beiträge: 4256
- Registriert: Do 30. Jun 2005, 22:56
- Wohnort: Eltmann, Unterfranken, Bayern
- Kontaktdaten:
Re: Was steht in der Session Variable
Servus stefkey,
schau mal ob Dir da das Wiki weiterhilft http://www.contenido-wiki.org/wiki/inde ... mvariablen
Gruß aus Franken
Ortwin
schau mal ob Dir da das Wiki weiterhilft http://www.contenido-wiki.org/wiki/inde ... mvariablen
Gruß aus Franken
Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog
Re: Was steht in der Session Variable
Meines Wissens steht in der Session-Cookie als Inhalt nur die Session-ID.
Alles andere wird über die Datenbank verwaltet.
Alles andere wird über die Datenbank verwaltet.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Was steht in der Session Variable
Hmmm. Danke sehr.
Ich betreue für einen gemeinnützigen Verein im Gesundheitswesen eine Website. Dort gibt es einen "geschützen Bereich". Nun wird in diesem Bereich eine externe Datenbank nach Datensätzen abgefragt. Man fragt mich nun was in der SessionID gespeichert ist, bzw wie sich die Benutzer identivizieren lassen.
Deren Datenbank muss quasi wissen wer da gerade anklopft um Daten abzufragen.
Wenn in dem Session-Cookie nichts gespeichert ist, müsste ich in der php-Datei basteln damit dort zB die BenutzerID abgelegt wird. Welche Datei ist da relevant?
Danke sehr, stefkey
Ich betreue für einen gemeinnützigen Verein im Gesundheitswesen eine Website. Dort gibt es einen "geschützen Bereich". Nun wird in diesem Bereich eine externe Datenbank nach Datensätzen abgefragt. Man fragt mich nun was in der SessionID gespeichert ist, bzw wie sich die Benutzer identivizieren lassen.
Deren Datenbank muss quasi wissen wer da gerade anklopft um Daten abzufragen.
Wenn in dem Session-Cookie nichts gespeichert ist, müsste ich in der php-Datei basteln damit dort zB die BenutzerID abgelegt wird. Welche Datei ist da relevant?
Danke sehr, stefkey
Re: Was steht in der Session Variable
Bei 4.8 schau mal die Variable $auth an: http://www.contenido-wiki.org/wiki/inde ... en#.24auth
Da ist Name und User-ID des Frontend-Nutzers drin.
Da ist Name und User-ID des Frontend-Nutzers drin.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Was steht in der Session Variable
ahhh Danke!
Ich bin kein Programmierer, aber ich habe einfach mal in ein Modul folgendes eingebaut:
echo $auth->auth["uid"];
Und diese, es hat funktioniert freu freu. Vielen Dank!!!
Und nun?
Die haben in der Tabelle con_frontendusers nämlich eine Spalte eingesetzt. In dieser Spalte wird abgelegt welche Rechte der Frontend-User bei denen in der Datenbank hat.
Die wollten also jetzt irgendwie den User identifizieren und dann in dieser Spalte schauen welche Rechte der Frontend-User hat und zack... bekommt der Fronten-User bestimmte Daten zu sehen.
Reicht es etwa wenn ich den Leuten einfach sage sie können die UserID einfach mit $auth->auth["uid"] abfragen?
Oder kann ich das ganze noch schöner mitteilen mit bissl Code drumherum (und würde das dann jemand posten )
Ich bin kein Programmierer, aber ich habe einfach mal in ein Modul folgendes eingebaut:
echo $auth->auth["uid"];
Und diese, es hat funktioniert freu freu. Vielen Dank!!!
Und nun?
Die haben in der Tabelle con_frontendusers nämlich eine Spalte eingesetzt. In dieser Spalte wird abgelegt welche Rechte der Frontend-User bei denen in der Datenbank hat.
Die wollten also jetzt irgendwie den User identifizieren und dann in dieser Spalte schauen welche Rechte der Frontend-User hat und zack... bekommt der Fronten-User bestimmte Daten zu sehen.
Reicht es etwa wenn ich den Leuten einfach sage sie können die UserID einfach mit $auth->auth["uid"] abfragen?
Oder kann ich das ganze noch schöner mitteilen mit bissl Code drumherum (und würde das dann jemand posten )
Re: Was steht in der Session Variable
Eigentlich eine SQL ähnlich wie:
Ich habe das Tabellen-Feld nicht sicher im Kopf für die ID, kann also ein wenig anders lauten.
In der Abfrage wäre dann durch das * folglich auch das drin, was die Leute da in eine Spalte rein geschrieben haben.
Bisserl Code darum kann man kaum machen, wenn man die Spaltennamen nicht kennt und auch nicht die Daten, die vielleicht nicht in Reinform vor liegen.
LIMIT 1 sorgt dafür, dass nur ein Datensatz abgerufen wird (weil es pro ID nur einen geben dürfte) und die Datenbank dadurch nicht lange nach weiteren Datensätzen sucht.
Code: Alles auswählen
SELECT * FROM con_frontendusers WHERE id='$auth->auth["uid"]' LIMIT 1
In der Abfrage wäre dann durch das * folglich auch das drin, was die Leute da in eine Spalte rein geschrieben haben.
Bisserl Code darum kann man kaum machen, wenn man die Spaltennamen nicht kennt und auch nicht die Daten, die vielleicht nicht in Reinform vor liegen.
LIMIT 1 sorgt dafür, dass nur ein Datensatz abgerufen wird (weil es pro ID nur einen geben dürfte) und die Datenbank dadurch nicht lange nach weiteren Datensätzen sucht.
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Was steht in der Session Variable
Hey klasse! Die Spalte heißt "belong_to_group" und ein Eintrag wäre zB "all" oder "group2"
Hilft das?
Hilft das?
Re: Was steht in der Session Variable
Code: Alles auswählen
$sql = "SELECT `belong_to_group` FROM " . $cfg["tab"]["frontendusers"] . " WHERE idfrontenduser='" . $auth->auth["uid"] . "' LIMIT 1";
$db->query($sql);
$db->next_record();
$groupbelonger = $db->f('belong_to_group');
Fliegt der Bauer übers Dach, ist der Wind weißgott nicht schwach.
Re: Was steht in der Session Variable
Ui Danke sehr.
Ich habe gleich mal irgendwo platziert. Und zwar folgenden Code:
Da steht nun im Frontend: Resource id #378
Ich hab aber die idfrontenduser 1, und in der Zelle belong_to_groub habe ich nicht "Resource id #378" sondern "all" eingeschrieben.
Woher kommt denn das?
Ich habe gleich mal irgendwo platziert. Und zwar folgenden Code:
Code: Alles auswählen
$sql = "SELECT `belong_to_group` FROM " . $cfg["tab"]["frontendusers"] . " WHERE idfrontenduser='" . $auth->auth["uid"] . "' LIMIT 1";
$db->query($sql);
$db->next_record();
$groupbelonger = $db->f('belong_to_group');
$groupbelonger = $db->query($sql);
echo $groupbelonger;
Ich hab aber die idfrontenduser 1, und in der Zelle belong_to_groub habe ich nicht "Resource id #378" sondern "all" eingeschrieben.
Woher kommt denn das?
Re: Was steht in der Session Variable
STOP! War mein Fehler!
Dein Code geht! Vielen Dank.
In vorigem Post sieht man noch ne Zeile $groupbelonger = $db->query($sql);
Das waren noch Reste um den Code zu verstehen. Am Ende habe ich die vergessen wegzumachen und habe mich selber verwirrt.
Beim Verständnis-Check habe ich auch entdeckt das man die erste und zweite Zeile zusammenfassen kann in:
Aber gut das du es nicht so geschrieben hast, denn so fiel es mir leichter es zu verstehen! Danke.
Einzig verstehe ich noch nicht warum das $db->next_record(); notwendig ist und was es macht. Ohne diesen Befehl erscheint im Fronten nichts.
Hmmm, ich forsche weiter.
Vielen Dank nochmals für Euere Mühe! Danke!
Dein Code geht! Vielen Dank.
In vorigem Post sieht man noch ne Zeile $groupbelonger = $db->query($sql);
Das waren noch Reste um den Code zu verstehen. Am Ende habe ich die vergessen wegzumachen und habe mich selber verwirrt.
Beim Verständnis-Check habe ich auch entdeckt das man die erste und zweite Zeile zusammenfassen kann in:
Code: Alles auswählen
$db->query("SELECT `belong_to_group` FROM " . $cfg["tab"]["frontendusers"] . " WHERE idfrontenduser='" . $auth->auth["uid"] . "' LIMIT 1");
Einzig verstehe ich noch nicht warum das $db->next_record(); notwendig ist und was es macht. Ohne diesen Befehl erscheint im Fronten nichts.
Hmmm, ich forsche weiter.
Vielen Dank nochmals für Euere Mühe! Danke!
Re: Was steht in der Session Variable
Etwas vereinfacht gesprochen ist das ungefähr so:
ist die eigentliche Abfrage der Datenbank. Das Ergebnis stell dir mal wie eine Excel-Liste vor, pro Treffer eine Zeile mit den zugehörigen Werten in den Zellen. Dass in deinem Fall die Abfrage von vornherein schon auf 1 begrenzt wird, ist für die Ergebnisliste erstmal unerheblich. Wir haben durch query einfach eine Ergebnisliste, von der wir nur wissen, dass sie im Prinzip Ergebnisse enthält.
sagt jetzt: geh in die Ergebnisliste und nimm die nächste Zeile (das ist am Anfang logischerweise = der erste Treffer in der Liste). Dann kann für diese Zeile auch auf die zugehörigen Werte in den Zellen zugegriffen werden. OHNE next_record hast du zwar eine Liste, aber springst gar nie zu einer konkreten Zeile, daher gibts auch keine Ausgabe.
Code: Alles auswählen
$db->query($sql);
Code: Alles auswählen
$db->next_record();
Re: Was steht in der Session Variable
Aha, Danke!
Dann ist man ohne $db->next_record(); quasi in der Zeile null, und da steht nichts. Verstehe, danke für deine Mühe und viele Grüße, stefkey
Dann ist man ohne $db->next_record(); quasi in der Zeile null, und da steht nichts. Verstehe, danke für deine Mühe und viele Grüße, stefkey