Session Variable lässt sich nicht einlesen.

andralin

Erfahrenes Mitglied
Hallo Leute,

ich hab lokal ne ZEND laufen und im Webn einen Strato V-Server...

folgendes Script funktioniert lokal, aber online nicht.
PHP:
if($screenWidth=="none")
{
   if(isset($_SESSION['screenWidth']))
   {
      $screenWidth = $_SESSION['screenWidth'];
   }
   else
      {		
         $screenWidth = 640;
      }
   }
   else
   {
      $_SESSION['screenWidth'] = $screenWidth;
   }
Woran kann das liegen?

cu s00n
Andralin
 
Woher kommt $screenWidth überhaupt(gesetzt den Fall, du holst es nicht aus der Session)?


$screenWidth wird per GetVar eingelesen und soll dann sofort in der Session gepeichert werden. Beim ersten Aufruf ist $screenWidth auch vorhanden, sobald ich dann einen Button drücke, geht sie verloren. Ich möchte auf weitere $_POST verzichten, da noch andere Variablen wichtig sind, die ich mit $_SESSION verwalten möchte.
 
Und woher holt getVar() diese Variable?
Hast du generell Probleme damit, Variablen in einer Session zu speichern?

Falls es sich bei screenWidth um einen Wert handelt, welcher mit Hilfe von JS ermittelt wird und dann an PHP gesendet....bist du sicher, dass JS im Web aktiv ist?
 
Und woher holt getVar() diese Variable?
Hast du generell Probleme damit, Variablen in einer Session zu speichern?

Falls es sich bei screenWidth um einen Wert handelt, welcher mit Hilfe von JS ermittelt wird und dann an PHP gesendet....bist du sicher, dass JS im Web aktiv ist?

Kurz zum technischen Ablauf der Seite...

Eine index.html lädt über Java Script eine *.php welche dann über die URL das Prefix ?screenWidth=1280 lädt. 1280 steht hier für meine Aufläsung. Momentan wird die Auflösung mit ...
PHP:
function loader()
{	
   window.location="MainScript.php?screenWidth=" + screen.width;	 
}
... geladen.

Das screen.width ist noch nicht meine endgütlige Lösung.

Später möchte ich da die CSS nach verschiedenen Auflösungen des Browsers laden.

Wird kein screenWidth übertragen (JavaScript deaktiviert, Brwoser kann kein screen-width, etc) dann ist der Wert automatisch "none" und soll dann durch einen Standardwert ausgetauscht werden. (bis hierhin t es perfekt.)

Nun soll der Wert in $screenWidth der beim ersten Aufruf der Seite immer vorhanden ist in der Session Variablen screenWidth gesepichert werden, die immer dann geladen werden soll wenn keine screenWidth übertragen wird. Denn das passiert sobald ich im Form einen Button drücke, denn ich möchte nicht jedesmal die Variablen übertragen, finde das persönlich unschön.

Aber er speichert momentan generell keine SessionVars, was mich stutzig macht.

Das blöde ist das man für den Strato-V-Server LINUX administieren muss und das ist nicht meine Stärke. Vor allem nicht an einem Produktiv-System. Das möchte ich vermeiden.
 
Zuletzt bearbeitet:
nach einem Test mit:
PHP:
if(!isset($_SESSION["TESTVAR"]))
   $_SESSION["TESTVAR"] = 0;
else
   $_SESSION["TESTVAR"]++;
lässt sich ausschliessen das der Server die Var nicht speichern will, ist wohl doch nur ein logischer Fehler.

Aber schon merkwürdig das der logische Fehler nur auf dem Server auftritt, lokal läuft alles wie geschmiert.
 
Zuletzt bearbeitet:
erledigt. hab den code anders aufgebaut, nun frag ich erst nach der SESSION VAR,...

hier seht selbst. ist sicher auch schöner... was ein paar std. PC Abstinenz und Tanzen doch bewirken können, dann t auch das Gehirn wieder.

PHP:
if(!isset($_SESSION["screenWidth"]))
{
   $screenWidth = GetVar("screenWidth");
      if($screenWidth*1<=0)
         $screenWidth = 640;
      $_SESSION["screenWidth"] = $screenWidth;
}
else
{
   $screenWidth = $_SESSION["screenWidth"];
}

Aber danke das Ihr Geduld hattet und Euch das durchgelesen habt.

cu s00n
Andralin
 
Zurück