Problem mit Session

Hallo zusammen.

Vor 3 Tagen noch, hat mein PHP Script einbahn frei funktioniert.
Übers Wochenende war ich nicht zu hause und habe somit am Code nichts verändert.

Scheinbar ist das Problem bis jetzt, dass Variablen, die in der Session gespeichert werden auf folgenden Seiten nicht mehr vorhanden sind.
Hier die wichtigsten Ausschnitte aus dem Code

session_start ();
....
$_SESSION ['username'] = $test->username;
$_SESSION ['jID'] = $test->id;
$_SESSION ['gID'] = uDBini_getData ( $test->id )["gID"];
$_SESSION ['permission'] = uDBini_getData ( $test->id )["perm_log_id"];

Dann wird auf die nächste Seite gewechselt und es wird versucht die Variablen abzurufen

if (empty ( $_SESSION ['username'] )) {
	echo WRN_NO_LOGIN;
	exit ();
}else { ... }

Im 2. Code Stück sind jedoch die Session Variablen nicht gesetzt.
Ich kann leider keinen Fehler bis jetzt erkennen.

Vielleicht sieht einer von außen einen Fehler.
Mfg 7xCore

wenn deine “nächste Seite” ne eigene php Datei ist, brauch die natürlich auch wieder ein session_start()^^

Das ist natürlich klar, die neue Session wird über eine inkludierte Datei gestartet, vielleicht liegt es daran ?

Da bin ich nochmal.

Ich habe nun zu debug Zwecken an meinen Scripts rum gewerkelt.
In der ersten Datei, in welcher auch die session Variablen zugewiesen werden, habe ich einmal error reporting eingebaut, lasse mir die SID ausgeben und durch var_dump($_SESSION); nochmal den kompletten Session array.

Es gibt weder Fehler noch fehlen irgendwelche Elemente im $_Session Array.

bei der Umleitung auf meine nächste php, in der die Sessiondaten abgefragt werden sollen, habe ich das gleiche gemacht.Die SID wird ausgegeben, allerdings ist mein §_SESSION Array komplett leer.var_dump(); sagt mir direkt das der Array eine Größe von 0 Elementen hat.somit kommen dann auch folgende Errors:

Die Datei UserLock.php sieht so aus:

error_reporting(-1);
ini_set('display_errors', TRUE);
session_start();
echo session_id();

echo $_SESSION ['username'] . "<br>";
echo $_SESSION ['permission'] . "<br>";
echo $_SESSION ['gID'] . "<br>";
echo $_SESSION ['jID'] . "<br>";

var_dump($_SESSION);

if (! isset ( $_SESSION ['username'] )) {
	echo "Bitte erst <a href=\"index.php\">einloggen</a>";
	exit ();
}

Diese Datei wird in eine andere Includiert, sodass dann in der Datei die Session übernommen wird.

Es scheint fast so, das die Session zwar erstellt wird und auch auf andere Seiten übertragen wird, allerdings bringt die Session keine Werte auf andere Seiten.

Irgendjemand mal das gleiche Problem gehabt oder einen Lösungsansatz?
Habe auch nochmal 2 einfach Dateien geschrieben und hochgeladen:
main.php

<?php
if (session_start ()) {
	echo "session successfull";
} else {
	echo "session wurde nicht erstellt";
}

$testVar = "depp";

$_SESSION['name'] = $testVar;
?>
<a href="sreq.php">weiter</a>
<?php
session_start();

echo $_SESSION['name'];
?>

Hat ohne Probleme funktioniert.

Und die ausgegebene Session-ID ist identisch?

ja

Macht es möglicherweise einen Unterschied, wenn ich eine session starte und die php tags zumache und dann wieder öffne und dann erst die session variablen setzte ?
Also so ungefähr:

<?php
session_start();
?>
HTML bla bla
<?php
$_SESSION["debug"] = "test";
?>

Das wäre allerdings auch komisch, das alles vor 3 Tagen noch gelaufen ist und jetzt nicht mehr geht.Mehr fällt mir im Moment nicht ein außer das ja vor ein oder zwei Tagen ja kurz alle bplaced Server down waren, das da irgendwas umgestellt wurde ?Wäre aber auch merkwürdig.
phpinfo():

und nein… PHP kann ohne weiteres den Kontext wechseln :wink:
Gibt auch einige Entwickler die echo nur für variablen nutzen und ansonsten immer in text Modus wechseln.

P.S. ne inkludierte Datei brauch kein eigenes session_start() mehr, oder wenn es nen include macht, brauch es die Hauptdatei nicht mehr.

nun denn…
Dann bleibt mir nichts anderes übrig, als mal die php Scripte komplett auseinander zu nehmen um den Fehler zu finden oder ich muss mal alles neu aufbauen.
Wenn ich doch noch ne Lösung finde, dann poste ich nochmal.

Alles klar, hier mal die unglückliche Lösung.

Mein php Script war absolut funktionstüchtig, das Problem war, das ich mit Joomla arbeite und in dieser Datei die Joomla-Session abgefragt habe, welche ich eigentlich gar nicht brauche.Die abgefragte Joomla-Session hat dann scheinbar meine eigens gesetzten Variablen überschrieben mit nicht gesetzten Werten, deshalb war der Array auch scheinbar leer.

Naja, jetzt hab ich zumindest meinen Code wieder übersichtlich gestaltet, danke trotzdem für deine Bemühung White-Tiger. :wink:

[quote=„7xcore“]Alles klar, hier mal die unglückliche Lösung.

Mein php Script war absolut funktionstüchtig, das Problem war, das ich mit Joomla arbeite und in dieser Datei die Joomla-Session abgefragt habe, welche ich eigentlich gar nicht brauche.Die abgefragte Joomla-Session hat dann scheinbar meine eigens gesetzten Variablen überschrieben mit nicht gesetzten Werten, deshalb war der Array auch scheinbar leer.

Naja, jetzt hab ich zumindest meinen Code wieder übersichtlich gestaltet, danke trotzdem für deine Bemühung White-Tiger. :wink:[/quote]
welche Bemühungen? :ps: !haue