Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers alrea
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at ....
Op google zie ik meerdere antwoorden waarin wordt aangegeven dat spaties verwijderd moeten worden en dat er niets voor de session_start mag staan. Helaas hebben deze tips me nog niet van het probleem afgeholpen.
Ik heb dit script eerder gebruikt zonder problemen, op een oude site werkt het ook nog steeds.
Iemand een idee waar de fout zit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
session_start();
$actie=$_POST["submit"];
if ($actie=="registreren"){
if(empty($_POST["Schrijver"])){
echo(" u veld 'Schrijver' is leeg");}
else{
$_SESSION["Schrijver"] = $_POST["Schrijver"];
if (empty($_POST["Titel"])){
echo("U heeft geen 'Titel' ingevuld");}
else{
$_SESSION["Titel"] = $_POST["Titel"];
header("Location:leesboeken_toevoegen2.php");}}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mijn boekverzameling</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
<meta http-equiv="keywords" content="" />
<meta http-equiv="description" content="" />
<link href="css/style.css"rel="stylesheet" type="text/css" />
</head>
session_start();
$actie=$_POST["submit"];
if ($actie=="registreren"){
if(empty($_POST["Schrijver"])){
echo(" u veld 'Schrijver' is leeg");}
else{
$_SESSION["Schrijver"] = $_POST["Schrijver"];
if (empty($_POST["Titel"])){
echo("U heeft geen 'Titel' ingevuld");}
else{
$_SESSION["Titel"] = $_POST["Titel"];
header("Location:leesboeken_toevoegen2.php");}}}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mijn boekverzameling</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
<meta http-equiv="keywords" content="" />
<meta http-equiv="description" content="" />
<link href="css/style.css"rel="stylesheet" type="text/css" />
</head>
Graag in het vervolg bij code, [code] [/code] tags gebruiken.[/modedit]
Gewijzigd op 27/08/2013 16:03:23 door Bas IJzelendoorn
Gewoon het zelfde, maar dan CODE
PHP Noob op 27/08/2013 14:57:28:
...waarin wordt aangegeven dat spaties verwijderd moeten worden en dat er niets voor de session_start mag staan. ...
Ja, dat klopt.
Het zelfde geldt voor header().
Je mag niet, eerst karakters naar het scheerm sturen (niet eens 1 spatie!) en daarna nog header() aanroepen, noch session_start().
Vaak heeft het te maken met include files. Als 1 include file 1 spatie bevat buiten de php-haakjes, loopt het mis.
Vervolledig deze error eens
(output started at ....
Daar zie je dus welke echo heeft gezorgd voor het probleem.
Gewijzigd op 27/08/2013 15:09:26 door Kris Peeters
Alvast bedankt, de volledige foutmelding is:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /public/sites/www.cphome.nl/mob/leesboeken_toevoegen.php:1) in /public/sites/www.cphome.nl/mob/leesboeken_toevoegen.php on line 2
Kris Peeters op 27/08/2013 15:10:30:
Dan heb je waarschijnlijk een spatie, of een nieuwe lijn, tussen het begin van je document en de openings-php-haakjes.
Die moeten weg
Die moeten weg
Het script is exact gelijk aan bovenstaande, ik zie daar geen spaties e.d. meer staan. Kan het te maken hebben met de _ tussen leesboeken en toevoegen achter de header?
Edit: helaas, _ is niet het probleem
Gewijzigd op 27/08/2013 15:18:40 door PHP Noob
Zit je op een windows machine?
Probeer nog eens met een nieuw leeg document.
Een nieuwe .txt aanmaken (zoals standaard, in ANSI laten), en dan alles copy pasten.
Misschien is dat bestand in een verkeerde character set geraakt of zo.
bv. een .txt in UNICODE zal lastig doen. Als je vertrekt van een .rtf zal er ook van alles blijven plakken dat last geeft.
Kris Peeters op 27/08/2013 15:22:46:
Okay, misschien nog een piste:
Zit je op een windows machine?
Probeer nog eens met een nieuw leeg document.
Een nieuwe .txt aanmaken (zoals standaard, in ANSI laten), en dan alles copy pasten.
Misschien is dat bestand in een verkeerde character set geraakt of zo.
bv. een .txt in UNICODE zal lastig doen. Als je vertrekt van een .rtf zal er ook van alles blijven plakken dat last geeft.
Zit je op een windows machine?
Probeer nog eens met een nieuw leeg document.
Een nieuwe .txt aanmaken (zoals standaard, in ANSI laten), en dan alles copy pasten.
Misschien is dat bestand in een verkeerde character set geraakt of zo.
bv. een .txt in UNICODE zal lastig doen. Als je vertrekt van een .rtf zal er ook van alles blijven plakken dat last geeft.
Hey dat werkt! Geen idee waardoor het verschil is ontstaan, maar het probleem is opgelost :)
Hartelijk dank voor je tijd en moeite!
Topic mag gesloten worden.
Ik ben blij dat je probleem opgelost is. :-)
BOM character in je script.
Je had dus duidelijk een