Session Variable verloren

exitboy

Erfahrenes Mitglied
Hallo,

irgendetwas mach ich immernoch falsch ...

nach der Login+Passw. Eingabe, werden in einer Datei, die sessions registriert:

nach dem Login wird diese hier aufgerufen:

<?php
include("mysqldb.php"); // connect DB
include("session.php"); // only session_start();

session_register("login") ;
session_register("passwd");
session_register("anzahl");
?>
.. JAVA Weiterleitung auf neue PAGE

******************************************************
Auf der neuen Seite, lade ich zu Beginn wieder

<?php
include("mysqldb.php");
include("session.php");
?>... BEGINN HTML CODE *** TEST 0 *** hier existiert meine Variable anzahl noch ! ### ERFOLGREICH TEST 0 ###

bis dann eine Include Anweisung kommt, welche Datei fenster.php läd, wo mein AnmeldeFormular liegt.

*** TEST1 *** hier steht zu beginn gar nix nur HTML Code, bis zu Ausgabe 1 mit ECHO --> die registrierte session ## $anzahl ist leer! ##

*** TEST2 *** session_start() als erste Zeile der Included Datei --> die (weiter oben) registrierte session ## $anzahl ist wieder leer. ##

Warum? Wie bekomm ich hier in die Included Datei, meine Variable $anzahl wieder rein? Es kann doch nicht sein, dass durch eine include Datei, die Variablen alle weg sind und auch per session_start() nicht wieder rein kommen,

Vielen Dank für Eure Hilfe!
 
Moin!

Als alleroberstes MUSS session_start() stehen!

<?
session_start();
allesandere...
?>

Sobald davor ein Include oder sonstwas ist, geht die Session flöten.
 
hallo,

danke erst einmal für Deine Antwort.

Habe das jetzt einmal versucht und in der Layout Datei, zuerst session_start(); eingepflegt. Aus dieser Datei wird nun per Include ja eine Datei geladen, welche den Hauptcontent u.a News usw. anzeigen soll. Muss auch in dieser Datei (die ja included wird) auch die session_start(); stehen, aktuell ist dies der Fall und die Variable bleibt - wie vorher auch - leer.
 
Hallo!

Ich würde den Befehl session_start(); nicht per include einfügen.
Macht auch keinen Sinn. Der Befehl selbst ist kürzer als das Include ;)

In jeder aufgerufenen Datei als erstes session_start() und dann die übrigen Includes, dann sollte das auch klappen.
 
Hallo, hab jetzt die Session etwas geändert und versuche das nun mal zu veranschalichen, da dies Variable im Layoutfile noch da ist, aber in der Included datei nicht ...

Also wir haben einfach wie es früher bei den Frames war, eine Datei, die wie folgt beginnt:

*Layout.php* -- nachfolgend als Layoutfile benannt.
In diesem werden 5 Dateien (Logo, Menu, Menu2, MainWindow und Impressumbar) per include eingeladen.
### CODE START ### ## IN DIESEM FILE EXISTIER die VARIABLE $anzahl noch
<?php
session_start();
include("mysqldb.php");
include("session.php");
?><html>
<head>
<title>Unb ...


<?php
include("http://www.meinserver.de/accounts/linkdatei.php"); ?>

### CODE CONTINUE ###

in der Session.php, steht

### CODE START ###
<?php
// Dient zum Prüfen von von $login und $passwd
// mysqldb muss vorher eingebunden worden sein
// Testen von Login und Kennwort
$db->query("SELECT CID FROM MyDatabase WHERE CLogin='$login' and CPass='$passwd'");
if (!list($anzahl) = $db->data()) // keine Daten
{
echo('Bitte melde dich bei uns an');
echo('<br>');
echo('<br>');
echo("Sie können sich jetzt <a href=\"http://www.text.de\">hier einloggen</a>");
exit;
}
?>
### CODE END ###

**********************************************************************

Das durch Layout.php eingeladene File, welches per Include eingelesen werden soll hat den folgenden Code:

(in diesem ist die Variable $anzahl plötzlich weg, welche ganz am Anfang beim Login(hier nicht aufgelistet registriert wurden ist und auf der Hauptseite ja noch da war)

### CODE START ###
<?php session_start();
include("mysqldb.php");
include("session.php");
?>

<table width="620" height="85" border="0" cellpadding="0" cellspacing="0" class="border_orl">
<tr>
### CODE END ###


HILFE - Danke nochmal!
 
HHHHHHHIIIIIIIIILLLLLLLLLFFFEEEE

hat den keiner eine Lösung,

die Sache an sich kann doch - wie ich selbst denke - nicht so schwer sein, da die Var. ja in der Session existiert und nur in dem Included File nicht mehr erkannt wird. Demnach ist der Fehler ja klar - in der Included Datei. Doch eine Lösung - schlägt fehl, wenn ich noch ma session_start(); aufruf, ist diese weiterhin nicht vorhanden ... H I L F E !
 
Zurück