Autor |
Nachricht |
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 19.03.2010 10:49
Titel problem mit sessions |
|
|
hi,
ich habe die letzte zeit an einer website gearbeitet bei der auch session zum einsatz kommen (login)
ich habe das ganze bisher immer nur lokal getestet. und war dabei auch teilweise mit mehreren nutzern gleichzeit online ohne das je ein problem aufgetrtetn ist.
jetz habe ich das ganze mal auf ohost hochgeladen um es zu testen
nur leider scheint irgendwas mit den sessions nicht zu klappen
sie ändern ihre werte von ALLEINE oder werden einfach gelöscht
wobei ich dachte, dass sessions bis zum schließen des browser aktiv bleiben vorausgesetzt ich habe nichts anderes im script definiert.
also wie kann es sein das ein session wert, wie z.b. ingolstadt plötzlich einfach zu Ingolstadt wird...
Oder das der session wert nick einen anderen nick annimmt?
ich steig da nich mehr durch.. vor allem, da eben NUR beim login die session werte einmalig übergeben werden
wer sich selbst ein bild machen will
http://teeeeest.te.ohost.de/
benutzer: test
pw: tester
wenn man dann z.b. auf einen "auf dich klicker" klickt und wieder auf "home" klickt dann hat man den nick des jeweiligen "auf dich klickers" angenommen..
verstehe das nicht.. vor allem da ich ja keine neue session werte definiere.. bin auch kein experte was sessions angeht.. aber warum gans lokal auf meinem xampp nie probleme und beim testen auf ohost jetz schon..
kann es auch sein das sich die probleme von alleine beseitigen wenn ich das auf einem server von z.b. revido teste?
grüße und danke für tipps
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 19.03.2010 11:07
Titel
|
|
|
liegt definitiv an deinen scripts ...
|
|
|
|
|
Anzeige
|
|
|
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 19.03.2010 11:12
Titel
|
|
|
und hast du vielleicht eine idee woran es liegen kann?
also beim login (/login) werden die sessions gesetzt
Code: | session_start();
$_SESSION['nick'] = $nick;
$_SESSION['nickPath'] = $nickString;
$_SESSION['hometown'] = $results["stadt"][0].$results["ort"][0];
$_SESSION['stadt'] = $stadt;
$_SESSION['landkreis'] = $landkreis;
$_SESSION['ort'] = $ort; |
danach werden diese werte aber nicht mehr überschrieben.
also zumindest nicht in der art wie oben..
bei jedem seitenaufruf wird dann dieser code noch abgefragt
Code: | session_start();
if (!isset($_SESSION['nick']) || !$_SESSION['nick']!="") {
$loggedIn = "off";
} else {
$loggedIn = "on";
} |
und wie gesagt, lokal bei mir funktioniert ja alles..
daher stehe ich jetzt echt auf dem schlauch
// kann es denn auch mit den servereinstellungen zusammenhängen? wäre es nicht möglich einfach die einstellungen vom xampp auf den test-server zu überspielen?
Zuletzt bearbeitet von Psilo am Fr 19.03.2010 11:19, insgesamt 2-mal bearbeitet
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 19.03.2010 11:22
Titel
|
|
|
Mh, evtl rein register globals Problem …
Wird auf der Profil Seite eine Variable $nick gefüllt?
Zuletzt bearbeitet von m am Fr 19.03.2010 11:26, insgesamt 3-mal bearbeitet
|
|
|
|
|
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 19.03.2010 11:31
Titel
|
|
|
wau, ja!? sollte man etwa namen von sessions und nicks nicht kreuzen??
was genau heißt das mit register_globals? soweit ich weiß kann ich die ja nur auf on oder off setzen?
also am besten mal beide werte probieren oder wie?
also z.b. nicht
$nick = "test",
$_SESSION["nick"] = "testttt";
usw...
DANKE für die hilfe
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 19.03.2010 11:38
Titel
|
|
|
http://php.net/manual/de/security.globals.php
Auf einem aktuellen Server wirst du damit keine Probleme bekommen.
Als kurzfristige Lösung um das Problem zu beheben:
http://www.php.net/manual/de/security.globals.php#87101
Code: | if (ini_get('register_globals') == 1)
{
if (is_array($_REQUEST)) foreach(array_keys($_REQUEST) as $var_to_kill) unset($$var_to_kill);
if (is_array($_SESSION)) foreach(array_keys($_SESSION) as $var_to_kill) unset($$var_to_kill);
if (is_array($_SERVER)) foreach(array_keys($_SERVER) as $var_to_kill) unset($$var_to_kill);
unset($var_to_kill);
} |
Zuletzt bearbeitet von m am Fr 19.03.2010 11:39, insgesamt 2-mal bearbeitet
|
|
|
|
|
Psilo
Threadersteller
Dabei seit: 20.02.2007
Ort: -
Alter: 35
Geschlecht:
|
Verfasst Fr 19.03.2010 11:43
Titel
|
|
|
also erstmal vielen vielen dank für deine hilfe
dann noch eine frage:[/code]
gehört das absichtlich so?
Code: | unset($$var_to_kill) |
und die frage:
ob sich das problem denn auch beheben lässt wenn ich einfach darauf achte, keine variablen zu erstellen die den session namen gleich kommen
also wenn es eine session["nick"] gibt einfach keine variable $nick zu erstellen..
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Fr 19.03.2010 11:46
Titel
|
|
|
Psilo hat geschrieben: | Code: | unset($$var_to_kill) |
|
Ja das ist korrekt so
http://php.net/manual/en/language.variables.variable.php
Psilo hat geschrieben: | und die frage:
ob sich das problem denn auch beheben lässt wenn ich einfach darauf achte, keine variablen zu erstellen die den session namen gleich kommen
also wenn es eine session["nick"] gibt einfach keine variable $nick zu erstellen.. |
So ist es.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Sessions-Problem bei PHP
Sessions Problem
[PHP] Sessions - Problem
[Solved] Problem mit Cookies bzw. Sessions
Sicherheit von Sessions
PHP-Sessions mit Xampp 1.5.0
|
|