Warum bricht die Session immer ab?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anfang
arbeiten
ausgabe
ausschnitt
befehl
browser
code
datei
grad
handhabung
header
http
index
laden
mafia
server
session
test
testen
untergrund
-
Hallo!
Warum funktioniert die Session hier nicht wie es sein sollte?
index.php
<html> <head> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> <title>Mafia-Untergrund das Mafia Browsergame</title> </head> <body> <br style="clear:both;"> <div class="header"><p align="right">test</p></div> <div class="main" style="clear:both"> <?php session_start(); session_set_cookie_params(3600); $SID = session_id(); ?>
user.php
<html> <head> <link rel="stylesheet" type="text/css" href="stylesheet.css" /> <title>Mafia-Untergrund das Mafia Browsergame</title> </head> <body> <center> <?php session_start(); session_set_cookie_params(3600); $SID = session_id();
P.S. Das sind nur die anfangs ausschnitte aber genauso geschrieben also von Leerzeichen etc. her -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Wieso benutzt du nicht Session-Variablen statt cookies?
Ist glaub ich einfacher in der Handhabung und übersichtlicher als mit cookies zu arbeiten...
velli -
Das liegt daran, wie eine Session erstellt wird.
Beim Laden der Seite wird in den HTTP-Header ein SetCooKie Befehl mit der session-id eingebunden.
Wenn du auf der Seite eine ausgabe machst, wie <html> oder ein Leerzeichen, dann werden die Headerdaten davor schon zurück an den Browser gesendet.
ALso kann der Server da dann den Befehl zum Cookie schreiben nicht mehr mit reinsetzen.
Folgkich musst du session_start() immer als erstes aufrufen, bevor irgendein HTML-Code oder irgendeine Ausgabe kommt.
setze<?php session_start(); session_set_cookie_params(3600); $SID = session_id(); ?>
ganz an den Anfang der Datei -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage