session_start, already sent
Ik ben bezig met een nieuw CMS systeem
deze heeft ook een login systeem. hij zegt dat de headers al verzonden zijn op lijn 1 van index.php
index.php(WORDT NIET GEINCLUDED!):
Help mij! :(
Gewijzigd op 01/01/1970 01:00:00 door Fred Binnenpret
Staat er een spatie achter
Nee, al gecheckt
Wat staat er in class.php (eerste 15 regels)
Stom. Het enige wat je kan doen is het even opnieuw te schrijven (misschien klinkt het dom, maar vaak wil het dan wel). Ik zie verder ook geen problemen.
Wat is de exacte foutmelding?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
## Configuration
$_CONFIG['cm_name'] = "ContentManager 2";
$_CONFIG['cm_template'] = "template/index.php";
$_CONFIG['db_host'] = "localhost";
$_CONFIG['db_user'] = "gesta";
$_CONFIG['db_pass'] = "xxx";
//Plugin
$_PLUGIN[0]['path'] = "plugins/start/";
######################
### EN NOG 200 REGELS ###
######################
?>
## Configuration
$_CONFIG['cm_name'] = "ContentManager 2";
$_CONFIG['cm_template'] = "template/index.php";
$_CONFIG['db_host'] = "localhost";
$_CONFIG['db_user'] = "gesta";
$_CONFIG['db_pass'] = "xxx";
//Plugin
$_PLUGIN[0]['path'] = "plugins/start/";
######################
### EN NOG 200 REGELS ###
######################
?>
Code (php)
1
2
3
2
3
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php:1) in /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php:1) in /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php on line 2
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php:1) in /home/gesta/domains/rkvvgesta.nl/public_html/manager/index.php on line 2
Herschrijven ook al geprobeerd. Kan het liggen aan session.auto_start ?
Gewijzigd op 01/01/1970 01:00:00 door Fred Binnenpret
De foutmelding zegt dat de sessie al gestart wordt bij het openen van de PHP code. Laat heel session_start() eens gewoon weg, wil het dan niet?
Dan kom ik niet echt verder... want als men niet ingelogd is wordt hij door gestuurd naar log.php en dat gaat via header zoals je ziet ^^
Hoe het bestand class.php eruit ziet, doet niet ter zake, daar ligt het probleem niet.
Ps. Controleer ook even op verborgen tekens!
Edit: Wat spook je uit op regel 55 van class.php?
Gewijzigd op 01/01/1970 01:00:00 door Frank -
pgFrank schreef op 28.01.2008 17:12:
En wat staat er nu allemaal in het bestand index.php? Vooral de eerste paar regels (html en/of php-code) zijn interessant, dus alles vóór het starten van de sessie.
Hoe het bestand class.php eruit ziet, doet niet ter zake, daar ligt het probleem niet.
Ps. Controleer ook even op verborgen tekens!
Hoe het bestand class.php eruit ziet, doet niet ter zake, daar ligt het probleem niet.
Ps. Controleer ook even op verborgen tekens!
Ps. bekijk het startbericht!
Verborge tekens? hoe kan ik daar op checken?
Het is gewoon een denkfout of een tikfout, maar in alle gevallen heeft de programmeur een fout gemaakt.
verklaar dan waarom ik geen headers kan verzenden?
Gommers schreef op 28.01.2008 17:17:
Hierbij verklaar ik dat jij geen 2x headers kunt verzenden.verklaar dan waarom ik geen headers kan verzenden?
pgFrank schreef op 28.01.2008 17:15:
@Djemo: Ongetwijfeld wordt er nogmaals een sessie gestart, is erg populair, of wordt er stiekum ergens output verzonden.
Het is gewoon een denkfout of een tikfout, maar in alle gevallen heeft de programmeur een fout gemaakt.
Het is gewoon een denkfout of een tikfout, maar in alle gevallen heeft de programmeur een fout gemaakt.
Als in het startbericht niet de gehele code van index.php getoond wordt, zal dit er ongetwijfeld bij staan (bv: "Relevante deel van index.php:"). Desalniettemin wordt hier meestal de gehele code gepost. ;)
errors never lie
Op regel 2 begint jouw output (daar wordt dus een header verstuurd) en op regel 55 probeer jij nogmaals een header te versturen, zie de functie header(). Dat is dus 2x en dat kan niet.
In index.php mag helemaal geen output staan vóór het starten van de sessie of voor het includen van class.php. In class.php mag geen output staan vóór het aanmaken van de header en je mag niet nogmaals een sessie starten.
P.S lees even een paar post terug
session_destroy() is dat geloof ik), en daarna een nieuwe sessie start? Misschien heel vergezocht, maar we zullen ver moeten gissen om dit probleem op te lossen.
EDIT: @Frank: je kunt een header() gewoon midden in een script versturen, hoor?
Blijkbaar is er dus al een sessie gestart. Als je die sessie nou 's eerst destroy't (EDIT: @Frank: je kunt een header() gewoon midden in een script versturen, hoor?
Gewijzigd op 01/01/1970 01:00:00 door Jesper Diovo