• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Problem mit Session Vaiablen

schlegel.berlin

New member
Hallo Leute,

ich habe ein Problem mit Session-Variablen. Mein Script läuft lokal (unter Apache) genau so wie es soll. Die Variablen werde an alle Seiten übergeben, wo sie geraucht werden.
Online aber gehen alle Session Variablen verloren, ausgenommen [sess_name].

Der Variablen [sess-name] wird beim ersten Aufruf ein 18-stelliger Random-String zugewiesen. Die anderen Variablen werden zwar beim Sessionstart generiert, aber erst später mit Inhalten versehen.

Hat jemand eine Idee, wo der Fehler liegen könnte?

Codeschnipsel (natürlich ganz am Anfang des Seiten-Quelltextes):
Code:
<?
session_start(); 

$_SESSION['sess_name'];
$_SESSION['Anschrift'];
$_SESSION['PLZ'];
.
.
.

Danke, Karin
 
Zuletzt bearbeitet:
Noch ein Nachtrag:

Wenn ich nach dem Zuweisen von Werten in die Session-Variablen folgendes Script im Browser direkt aufrufe, als z.B. www.domain.de/test.php, dann sieht das Ergebnis der Ausgabe wie folgt aus:

sess_name: IF4NwkVMNXadkZ1Y5m
Anschrift: Musterweg 1
PLZ: 12345
Ort: Musterdorf

Rufe test.php aber aus einer anderen Seite (in der die Session natürlich auch aktiv ist) auf, z.B. per Link, dann ist das Eregbnis das Folgende:

sess_name: IF4NwkVMNXadkZ1Y5m
Anschrift:
PLZ:
Ort:
 
Zuletzt bearbeitet:
Hallo Ihr Lieben, will nur kurz melden, dass ich den Fehler selbst gefunden habe.
Wieder mal im Wald gestanden und denselben vor lauter Bäumem nicht gesehen. Dabei waren es gar nicht so viele, so dass der Durchblick eigentlich eher hätte gelingen müssen.
Na ja, an manchen Tagen hat eben jede/r mal seine Periode ...

Und, falls sich schon jemand einen Kopf gemacht hat. Danke dafür und sorry, dass ich die Ursache für's Grübeln war ...

LG, Karin
 
Du könntest wenigstens verraten, woran es denn jetzt gelegen hat - dann hat dieser Thread vielleicht noch irgendeinen Nährwert.
 
Sorry, wie recht Du doch hast. Ich bin so unter Zeitdruck gewesen, dass ich es einfach vergaß. Entschuldigt bitte ...

Also, das "Problem" war (natürlich) hausgemacht!

Ich schicke ein Formular ab wie folgt:
PHP:
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method="POST" name="solution">

Auf dieser Seite gibt es also "naturgemäß" eine POST-Script Bereich:
PHP:
if($_POST)
{

bla, bla ...

}

In dem Script-Teil innerhalb der geschweiften Klammern lag das Problem.
Dort hatte ich, am Tag zuvor (besser die Nacht zuvor) die fraglichen Session-Variablen gelöscht um etwas testen und vergessen, diesen Teil des Copdes wieder rauszuschmeißen, als ich sehr spät in der Nacht endlich in die Horizontale ging.

Und das hatte ich am nächsten Tag irgendwie ausgeblendet. Ich weiß, recht dämlich, aber so ist das bei mir eben manchmal. LEIDER!!!

Ich musste mir den Code erst einmal ausdrucken, ihn vor meine Nase legen und gaanz langsam durchlesen. Und siehe da, ich fand mein (selbst verursachtes) Problem.

Zu meiner Entschuldigung kann ich vielleicht noch anführen, dass der Code innerhalb der geschweiften Klammer von "POST" recht umfangreich ist und - er war noch nicht wirklich "aufgeräumt", weil er wie eine Stachelbeere gewachsen war. So über mehrere Tage hinweg. Immer so zwischendurch mal, weil ich noch viel anderes erledigen musste ... (mehrere Baustellen gleichzeitig)

Also, seid bitte nicht zu sauerm, dass ich die Auflösung nicht schon eher und erst jetzt nach "Aufforderung" hier poste.
Ihr merkt sicher, dass ich gerade versuche mich formvollendetbzu entschuldigen und kann nur hoffen, dass sich Eure (zu recht "erregten") Gemüter wieder beruhigen. Ich brauche Euch ja sicher irgendwann wieder einmal ...

Liebe Grüße, Karin
 
Ja, du hast dich formvollendet entschuldigt... mein Gemüt war gar nicht so erregt und ich bin/war auch nicht sauer.
Hoffentlich hast du deine Lektion gelernt, dass man Code nicht wie Stachelbeeren wachsen lässt... sonst wäre die ganze Mühe doch umsonst gewesen;)

Wenn du wieder mal so ein Problem mit verschwindenden Variablen hast (oder $_POST/$_GET/$_SESSION-Feldern) rate ich dir einfach ganz am Anfang und am Ende des Skriptes ein
Code:
var_dump($_VARIABLE);
einzufügen - dann siehst du, ob sich da was ändert.
 
Das ist ein sehr guter Ratschlag, den ich sicher befolgen werde, so wie all Euren guten Ratschläge in der Vergangenheit.
Inzwischen bin ich zwar nicht mehr ganz so eine schlimme Blaubeere (auch Dank Eurer Hilfe in der Vergangenheit), aber oft noch ziemlich chaotisch (mit dem Ergebnis von Stachelbeeren) und eben noch weit von wirklich profundem Wissen entfernt.
Das meiste bekomme ich inzwischen recht gut gebacken, auch komplexere Aufgabenstellungen, aber gelegentlich merke ich eben, dass ich an Grenzen stoße. Und sehr oft sind das selbst durch meine Chaoterie gesetzte. DRINGEND. Das jüngste Beispiel ist ein guter Beleg dafür. Der Fehler wäre eigentlich sehr leicht zu erkenn gewesen, aber meine Hektik .....
Auch stelle ich im Rücklick gelegentlich fest, dass ich viel zu umständlich vorgegangen bin. Da muss ich wohl wirklich was ändern. Wen ich dann redigiere, verdichte, verknappe, dann passsiern eben manchmal das Durcheinander in meinen Stachelbeeren, weil sie halt zu unübersichtlich sind ...

Danke für Eure Geduld und bis zum nächsten Mal, LG, Karin
 
Zurück
Oben