Sessie werkt niet?

Status
Niet open voor verdere reacties.

larsojo

Gebruiker
Lid geworden
10 nov 2010
Berichten
213
Hallo allemaal,

ik heb een site, met een index.php, en map admin met daarin: index.php (voor inloggen) en admin.php (welcome). Ik heb bij de index.php van de site 1x session_start(); staan. Nu is het alleen zo dat ik een error krijg: Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at ./index.php:12) in ./index.php on line 13

Line 12 in mijn index.php is een <?php.

Waar zit de fout?

:Larsojo
 
Er mag geen output voor session_start() worden geplaatst, zet die dus bovenaan de pagina.

Wanneer je het bestand include met die functie, dan mag daarvoor ook geen output zijn geweest.
 
Ik heb in de totale pagina maar één keer session_start() geplaatst en toch zegt ie dat ik er meer heb geplaatst. :s
 
Maar bij XAMPP doet ie het wel gewoon zoals het hoort te werken...
 
De fout zit denk in regel 1 t/m 11 van je index.php. Wat staat daar? Als ik e.e.a. zo lees, denk ik HTML code.
Wellicht kun je het hele index.php script plaatsen.
 
nee, 1t/m11 is gewoon alleen html. Ik heb mijn site eerst via XAMPP gemaakt, daarna geupload naar mijn webserver. Op XAMPP werkte alles prima, maar na het uploaden ineens niet meer.
 
nee, 1t/m11 is gewoon alleen html. Ik heb mijn site eerst via XAMPP gemaakt, daarna geupload naar mijn webserver. Op XAMPP werkte alles prima, maar na het uploaden ineens niet meer.
Output dus, en zoals Tha Devil al aangaf mag e geen output hebben voor je session_start. Je kunt een sessie niet meer starten als je al begonnen bent gegevens naar de browser te versturen.
 
Dat het op XAMPP wel werkt lijkt mij vreemd, waarschijnlijk staat daar gewoon de error_reporting van PHP niet juist waardoor je de melding niet te zien krijgt.
 
@ThaDevil hoe moet ik het dan doen?

Ik heb namelijk totaal maar één keer session_start en dat is in me index.php.
 
Hoe ziet je code er uit?
De eerste 15 regels van index.php lijken mij voldoende :)
 
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WeekendMensen - GoldenHabbos.com</title>

<link rel="stylesheet" type="text/css" href="inc/style/css/index.css" />

</head>

<body>
<?php
session_start();
if ($_GET['action'] == "logout") {
	session_destroy();
	unset($_SESSION['WM_logged']);
	$_SESSION['WM_logged'] = false;
	unset($_SESSION['WM_id']);
	unset($_SESSION['WM_name']);
	unset($_SESSION['WM_password']);
	header("Location: index.php");
} else {
}
 
Laatst bewerkt:
Output voor de functie dus, dat mag niet :)

Zo hoort het:
PHP:
<?php
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WeekendMensen - GoldenHabbos.com</title>
 
<link rel="stylesheet" type="text/css" href="inc/style/css/index.css" />
 
</head>
 
<body>
<?php
if ($_GET['action'] == "logout") {
 
Als ik dat doe, dan krijg ik de error: Trying to destroy uninitialized session.

Hoe kan ik dit dan oplossen?
 
Dat zal alleen moeten verschijnen bij de logout actie lijkt mij?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan