PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: Session weitergeben


ooAlbert
2006-11-20, 13:34:09
Hi,

ich hab mal versucht mit Sessions zu arbeiten um diverse daten dauerhaft verfügbar zu machen so lange eine person angemeldet ist.

ich hab eine login seite die gibt die daten an eine anmeldeseite für die DB welche auch gleichzeitig die sessionvariablen inizialisiert.

Jetzt sollen daten aus der DB ausgelesen werden dazu hab ich mit include eine weitere seite in die anmeldeseite geheftet, welche die DB-daten ausliest.


Mein Problem besteht jetzt darin, das nichts ausgelesen wird, weil die daten für die anmeldung nicht vorhanden wären. Also die Session wird nicht inizialisiert. Ich hab schon überlegt ob man die seite zum auslesen nicht extra anzeigt und somit mit "start session" an die daten käme, nur wüßt ich nicht wie ohne einen knopf zu benutzen.

Hat da jemand eine idee?

mfg

ZapBee
2006-11-20, 15:31:41
Ab dem Login muß auf jeder Seite, die der Gast besucht, ein session_start() stehen, sonst werden die Session-Daten nicht weitergegeben.

Zap

ooAlbert
2006-11-20, 18:04:38
ich weiß, aber wenn man eine seite mit include läd klappt das nicht.

also mal zum besseren verständnis:

Login.php=>Config.php(erstellt Sessionvariablen)=>Include (Auslesen.php) ...

ich hab eine check_session.php die mir die verbindung zur db aufrecht erhält, damit nicht jedesmal der anmelde bildschirm im quelltext steht.

ZapBee
2006-11-20, 19:39:11
ich weiß, aber wenn man eine seite mit include läd klappt das nicht.
Genauso sollte es aber klappen. Bei mir ist das auch nicht anders:
inhalt.php

<?php
include "check_session.php";
[Inhalt...]
?>

check_session.php

<?php
session_start();
blabla;
?>

Kann es sein, dass Du Cookies ausgeschaltet hast oder der Server keine Cookie-Sessions unterstützt?

Zap

ooAlbert
2006-11-21, 08:23:37
wenn ich das aber so mache kommt das die session variablen schon definiert sind... der macht zwar trotzdem was aber die fehlermeldung bleibt.

Also:
Login.php Sendet via POST die anmelde daten an Config.php

Config.php:
<?
Session start();

$_Session["db_user"] = "$_POST[Benutzer]"; //von Login.php

//etc.

include("daten.php"); //darin wird die DB ausgelesen
?>

daten.php:
<?
include("check_session.php");

//DB Auslesen ...
?>
Fehlermeldung das die Sesseions chon definiert ist

daten.php:
<?
//ohne include

//DB Auslesen ...
?>
Fehlermeldung das keine Session definiert ist.

Der einzige mir bekannte behelf wäre, wenn ich über einen Knopf (Submit anweisung) eine neue seite aufrufen würde. Nur bietet sichd as im dialog nicht an.

ZapBee
2006-11-21, 09:31:04
Config.php:
<?
Session start();

$_Session["db_user"] = "$_POST[Benutzer]"; //von Login.php

//etc.

Die Anführungsstriche sind falsch.

Was steht denn in Deiner check_session.php?
Und die genauen Fehlermeldungen bitte.

Zap