ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
356
356
EMPFEHLEN
-
08.08.05 12:57 #1
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
Hallo,
ich möchte nach dem Login eines Users eine Variable mitnehmen. Diese wird aus einer
DB gelesen und ist für das Anzeigen des Adminmenüs des Users Wichtig. Je nach
Variable erhält dieser ein anderes Menü.
Gibt es eine Möglichkeit diese Variable über jede Seite mitzunehmen ohne Sie an die
URL zu übergeben oder in einen Cookie su schreiben ?
Die Funktion des Adminmenü wurde erst später in die Seite eingebunden, daher müssten
alle Links angepasst werden was eine Menge Arbeit wäre. Auf Cookies würde ich gern
verzichten wenn möglich.
Danke jetzt schon für Hilfe...
-
08.08.05 13:03 #2
Also grundsätzlich kann man keine Variablen "mitnehmen", da diese meist viel zu schwer sind.

Ansonsten sind Sessions die Lösung zu deinem Problem!
http://de.php.net/manual/de/ref.session.php
http://www.php-faq.de/ch/ch-version4_session.htmlIch bin arbeitlos und suche dringend eine neue Festanstellung!
Kennst du jemanden der einen- PHP-Profi
- Datenbankadministrator
- Webdesigner
- Netzwerkadministrator
- oder ähnliches
Ceraph@gmx.de
Danke, Jörg
-
08.08.05 13:47 #3
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
Ja schwer sind die schon
Danke für die Links, habe mir das mal angeschaut. Mit ist aber nicht ganz klar, wie jetzt
genau die Variable da reinbringen. Also meine Session sieht so aus :
PHP-Code:$result_cms = mysql_query("SELECT * FROM $tab WHERE username ='$username'") or die(mysql_error());
$user_cms = mysql_fetch_array($result_cms);
if(!isset($username)) $username=$_POST ['username'];
if(!isset($password)) $password=$_POST ['password'];
session_start();
if (!session_is_registered("login")) {
if (isset($username) && ($username!="") && isset($password) && ($password!="")) {
if (($password==$user_cms[passwort]) && ($user_cms[username]==$username)) session_register("login");
}
}
}
if (isset($logout) && ($logout==0)) {
session_destroy();
}
Aber wie bekomme ich da jetzt die Id rein ? Das ist mir nicht ganz klar...?
-
08.08.05 13:55 #4
Ersetze bitte mal session_is_registered("login") durch isset($_SESSION['login']) und session_register("login"); durch $_SESSION['login'] = $user_cms['username'];
Dann ist in der Variable $_SESSION['login'] der Username gespeichert.
Das kannst du natürlich auch für die ID aus der DB machen.
$_SESSION['id'] = $user_cms['name_der_id_in_der_datenbank'];
Wenn diese Variablen dann existieren, ist der User eingeloggt. Wenn nicht, dann nicht!
Ich bin arbeitlos und suche dringend eine neue Festanstellung!
Kennst du jemanden der einen- PHP-Profi
- Datenbankadministrator
- Webdesigner
- Netzwerkadministrator
- oder ähnliches
Ceraph@gmx.de
Danke, Jörg
-
08.08.05 14:18 #5
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
Aha, ok. Das mit der Session klappt. Code sieht jetzt so aus:
Jetzt aber noch ne Frage. Wie bekomme jetzt z.B. die User-ID an einen Link im Adminmenü dran?PHP-Code:session_start();
if (!isset($_SESSION['login'])) {
if (isset($username) && ($username!="") && isset($password) && ($password!="")) {
if (($password==$user_cms[passwort]) && ($user_cms[username]==$username)) {
$_SESSION['login'] = $user_cms['username'];
$_SESSION['id'] = $user_cms['id'];
}
}
}
if (isset($logout) && ($logout==0)) {
session_destroy();
}
Mit :
Code :1
<a href="index.php?site=login&loginid=<?php echo $user_cms['id'] ?>">...</a>
komme ich nicht weit. Da wird leider nichts übernommen.
-
08.08.05 14:35 #6
Übergib einfach die Session_id:
Das wird "gekappt", wenns dein Server sowieso unterstützt.PHP-Code:<a href="index.php?site=login&<?php echo(SID); ?>">...</a>
Zugriff auf der neuen Seite mit $_SESSION['id'].Ich bin arbeitlos und suche dringend eine neue Festanstellung!
Kennst du jemanden der einen- PHP-Profi
- Datenbankadministrator
- Webdesigner
- Netzwerkadministrator
- oder ähnliches
Ceraph@gmx.de
Danke, Jörg
-
08.08.05 15:02 #7
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
mhhhhh, da wird bei mir leider nichts übernommen. Hinter dem Link wird nichts angezeigt.
Muss ich denn das $_SESSION['fid']; in jeder Seite erneut aufrufen oder reichts das wenn
ich das nur in der index.php einbinden ? Arbeite ja mit nem Template.
Wie ist denn das wenn ich Daten des User per $result aus der DB holen will. Da muss ich
ja dann ebenfalls die ID irgendwie einbauen.
Ich glaube ich steh grad irgendwie auf dem Schlauch...
-
08.08.05 15:08 #8
1.
Du musst die zugreifenden Datei auch mit session_start() beginnen.
Erst danach sind die _SESSION-Variablen verfügbar.
2.
$_SESSION['id'] = $user_cms['id'];
Hat danach die $_SESSION['id'] überhaupt einen Inhalt?Ich bin arbeitlos und suche dringend eine neue Festanstellung!
Kennst du jemanden der einen- PHP-Profi
- Datenbankadministrator
- Webdesigner
- Netzwerkadministrator
- oder ähnliches
Ceraph@gmx.de
Danke, Jörg
-
08.08.05 15:58 #9
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
Also, der Code von den anderen Postings ist in der index.php am Anfang der Seite
eingebunden. Diese Seite wird ja bei jedem Aufruf der Unterseiten mit z.B.
index.php?site=home etc. aufgerufen.
Das Adminmenü wird per Include eingebunden und prüft bei Eingabe der Logindaten ob
User besteht oder nicht. Entsprechend wird dann entweder eine Fehlermeldung oder das
Adminmenü aufgerufen. Im Adminmenü sollte dann ja die User-ID an den Link übergeben
werden, damit ich aus der DB mit Result z.B. Daten für eine Profilformular auslesen kann.
Dann muss ich ja nicht mehr das session_start() in der Include-Datei übergeben. oder ?
Ich blick´s grad überhaupt nicht wie Du das meinst, sorry.
-
08.08.05 20:31 #10
- Registriert seit
- Sep 2003
- Ort
- Ist ein See in der Gegend...
- Beiträge
- 126
Ok, habs jetzt hinbekommen
Ähnliche Themen
-
[FF3.5] Cookies mitnehmen?
Von akrite im Forum Microsoft WindowsAntworten: 11Letzter Beitrag: 31.01.10, 10:03 -
Firefox mitnehmen bei Umstieg
Von kar_sten im Forum Microsoft WindowsAntworten: 16Letzter Beitrag: 30.06.08, 20:00 -
Variabel aus Variabel ermitteln?
Von notebook20000 im Forum PHPAntworten: 1Letzter Beitrag: 12.11.05, 16:59 -
TXT Rahmen mitnehmen (Indesign2)
Von regurge im Forum Desktop Publishing (DTP)Antworten: 0Letzter Beitrag: 21.09.05, 16:37 -
T-DSL flatrate mitnehmen ...
Von _root im Forum Internet, DSL & FlatrateAntworten: 2Letzter Beitrag: 19.11.04, 17:46





Zitieren
Login






[PHP][Snippet] Array zu XML konvertieren