Tags
Forum
Artikler
Brugere
Stil spørgsmål
1
online
Login
Husk mig
session fejl/header.
Tags:
php
Bruger #17554
@ 15.04.13 21:19
50
hej,
har lige fået opgraderet mit hotel til nyeste versioner af php, mySQL mv.
og får nu et problem i index.php
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/ttoepzjd/public_html/kim/index.php:1) in /home/ttoepzjd/public_html/kim/index.php on line 1
<?php session_start();
Det er min linje, og index.php er i format: Konventer til UTF-8
Sætter jeg den til (uden BOM). Så forsvinder den fejl meddelelse.
Men jeg ønsker jo det skal køre uden fejl. Så hvorfor får jeg den besked?.
php.ini er ikke lavet, og mangler nok lidt info til det.
3
svar postet i denne tråd vises herunder
1
indlæg har modtaget i alt
6
karma
Sorter efter stemmer
Sorter efter dato
6
Bruger #10216
@ 15.04.13 21:32
9
4.283
Du får fejlen fordi du sender body/content til browser
før
header.
Et response til browser skal være bygget op således at header sendes før body. Header indeholder informationer så som cookie data, session id, content-type og meget mere. Faktisk kan du selv checke det via din browsers developer tools. Denne header skal altid sendes før content, altså alt normal indhold du sender til browseren, lad det være html, text, xml eller noget fjerde.
Sessions er header baseret, i og med at header indeholder session id, gemt i en cookie. Det samme gælder alle header() baseret funktionskald.
Når du i din index.php gemmer med BOM, så gemmer du et par kryptiske tegn (BOMen) først i php filen. Dvs. før de normale "første" tegn i din PHP fil. Editorer fortolker BOMen og skjuler den for dig, derfor ser du først beviserne på at den eksistere, når du afvikler dit PHP script. Men denne BOM kan altså ses som output til din klient, og da du ikke må sende output/content/body til klienten før header, så vil PHP fejle med den nævnte besked.
0
Bruger #17554
@ 15.04.13 21:38
50
1:
<?php session_start();
setcookie("mine cookies ting"];
include("config.php");
?>
2: Her kommer mit <html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
indhold
</body>
</html>
0
Bruger #10216
@ 15.04.13 22:57
9
4.283
Aner ikke hvad det betyder.
Men...
For at svare på dit spørgsmål pr. PB. Gem
altid
og arbejd altid i UTF-8. Det vil spare dig for mange problemer ud i fremtiden.
https://www.phpbb.com/community/viewtopic.php?f=66&t=1584655
Karma barometer (30 dage)
Modtaget
Givet
X
Favorit hos
Forum tråde
Artikler
Tilføj til dine favorit tags
Fjern fra dine favorit tags