session funktioniert nicht richtig
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
array
aufbauen
aufwand
auslese
code
datum
einzigen session
funktion
glauben
login
machen
person
problem
profil
regel
server
session
sinn
string
webseite
-
Hallo Leute,
ich glaube es gibt bei Lima ein Problem mit der PHP-Funktion session:
Wenn man sich auf der Webseite einloggt ist man die Person als die man sich eingeloggt hat - Richtig
Aber wenn ich auf die Seite gehe wo unser Team vorgestellt wird und dann auf das Profil genauer gehe bin ich wenn ich danach auf eine andere Seite gehe bin ich die Person auf deren Profil ich als letztes war.
Bei mir auf meinem eigenen Server besteht das Problem nicht.
Besoc -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Hi, könntest du uns deinen Code zeigen, wo und wie die Session gespeichert wird und wo/wie du sie benutzt?
Manchmal kommt es halt drauf an wo die Session gespeichert wird, das prob hatte ich auch mal auf nem Server.
Grüsse
Color -
<?php session_start(); include("../intern/connect.inc.php"); include("../ext/link.php"); $member = $_GET['Member']; ?>
-
tactical-airsoft-berlin schrieb:
<?php session_start(); include("../intern/connect.inc.php"); include("../ext/link.php"); $member = $_GET['Member']; ?>
Schön. Du startest eine Session und liest dann etwas aus dem GET-Array. Wenn du das Member in der Session speichern willst, dann musst du irgendwo (beim Login in der Regel) diesen Wert auch in den SESSION-Array schreiben ($_SESSION ['memberid'] = 42) und dann später von dort auslesen (if $_SESSION ['memberid'] == 42 die ("Du nicht"); ). -
aber ich mach zurzeit ja alles mit session_start() bekomm ich das auch damit hin?
-
Nein. Du musst dennoch in eine $_SESSION Variable speichern. In $_GET sind die Paramter im Query-String gespeichert.
-
Wie nikic bereits bemerkte, gilt folgendes:
Das session_start () macht nichts weiter (wobei dieses einiges an Aufwand ist) als das gesamte Hintergrundgedöns des Sessionmanagements zu initialisieren. Sprich nachschauen, ob bereits eine Session läuft, wenn ja die Daten dafür auslesen, den $_SESSION-Array aufbauen etc.
Dieses session_start () allein bringt dir allerdings gar nichts. Es befähigt dich nur dazu, den $_SESSION-Array zu nutzen, der auf allen Seiten einer einzigen Session denselben Inhalt hat. Sprich: Auf der Loginseite steht irgendetwas im Stil von (nur Pseudocode hier:)
<?php session_start (); $rs = mysql_query ("select id from users where login='" . $_POST ["login"] . "' and pw='" . $_POST ["pw"] . "'"); if ($row = mysql_fetch_assoc ($rs) ) $_SESSION ["user"] = $row ["id"] else unset ($_SESSION ["user"] ); ?>
In deiner Logoutseite steht etwas im Sinne von
<?php unset ($_SESSION ["user"] ); ?>
Auf jeder anderen Seite kannst du dann $_SESSION ["user"] auslesen und verwenden. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage