Seneste forumindlæg
Køb / Salg
 * Uofficiel Black/White liste V3
Login / opret bruger

Forum \ Programmering og webdesign \ Hjemmeside design
Denne tråd er over 6 måneder gammel

Er du sikker på, at du har noget relevant at tilføje?

fejl i php

Af Ultrabruger Zeneka | 14-11-2005 22:13 | 1160 visninger | 18 svar, hop til seneste
jeg har rodet lidt med php, jeg får denne fejl 2 gang Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/html/index2.php:5) in /var/www/html/includes/functions/sessions.php on line 97 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/html/index2.php:5) in /var/www/html/includes/functions/sessions.php on line 97 nogen der ved hvordan jeg afhjælper den
--
så længe vi er stive .... er vi i live
#1
Zeneka
Ultrabruger
14-11-2005 22:15

Rapporter til Admin
jeg skriver lige igen i morgen tidlig, men skriv bare hvis i har nogle ideer til hvordan jeg fikser det ! hilsen Zeneka
--
så længe vi er stive .... er vi i live
#2
rostved
Ny på siden
14-11-2005 22:17

Rapporter til Admin
Det kan godt se ud som om, at du udskriver noget før din session_start()
--
#3
Mickiii
Supporter Aspirant
14-11-2005 23:08

Rapporter til Admin
Der er flere ting du skal være opmærksom på: - Du må som #2 siger ikke udskrive noget før din start af session - Evt. PHP kode før som er sepereret af blot en enkelt linie kan også skabe problemet, i.e. <? $flaf = 'flaf'; $flaf = 'foo'; ?> //Dette mellemrum kan skabe fejlen.. <? session_start(); ?>
--
http://1websolution.dk[...] AMD64 3200+ | Zalman CNPS 7000-Cu | Asus K8V Deluxe SE | 1 GB PC3500 | Radeon 9800XT | Audigy 2 | Antec Sonata | 19" TFT LG Flatron
#4
buggi
Maxi Supporter
14-11-2005 23:19

Rapporter til Admin
altså, du ud skriver noget, før dine headers, som meget "ulovligt" i php, du kan gøre dette: øverst i dit dokument, skriver du <?php session_start(); ?> det gør at at php vil sortere i det hele og sørge for at dine headers kommer ud først (evt. ob_start hvis det ikke virker)
--
Min DOSBox Guide: http://kortlink.dk[...] http://z4nd.net[...]
#5
kastermester
Junior Supporter
14-11-2005 23:56

Rapporter til Admin
En lidt mere detaljeret forklaring fåes ved at når der bliver requestet en side i HTTP protokollen så får browseren det sådan her: HEADERE (mere om dem lige om lidt) INDHOLD (alm. html kildekode) headerne indeholder nogle forskellige ting og sager, bl.a. Content-Length (angiver hvor mange bytes indholdet er på), derudover alle de ting som bliver sendt med phps header() funktion, og andre funktioner som bruger disse headere, og sessions er en af disse. Og dvs. når du udskriver noget før du kalder session_start(), så får du et problem, da det går helt galt hvis man forsøger at lave følgende: HEADERE INDHOLD HEADERE INDHOLD Det kan man simpelthen ikke, da browseren bare vil tro at når der står headere 2. gang så er det bare indhold, derfor er PHP så smart at den stopper når du forsøger på det. Disse fejl udmærker sig ved altid at indeholde sætningen "headers already sent by (fil:linienummer)". Og her kan du så se hvor fejlen ligger, her index2.php på linie 5. Håber at dette hjælper lidt på det.
--
Kaare
#6
Zeneka
Ultrabruger
15-11-2005 09:11

Rapporter til Admin
takker det vil jeg prøve, ellers skriver jeg lige igen.
--
så længe vi er stive .... er vi i live
#7
Zeneka
Ultrabruger
15-11-2005 12:32

Rapporter til Admin
er det nogen der evt. kan hjælpe med at få denne fejl fjerne via msn? jeg har prøvet de ting, men så kommer den bare med en fejl mere også med session min msn Zeneka2002[@]yahoo.com
--
så længe vi er stive .... er vi i live
#8
KC
Supporter Aspirant
15-11-2005 12:42

Rapporter til Admin
Så skriv da hvilken fejl den kommer med... Det er sikkert ikke så svært at rette
--
<b>Røv røv og røv</b> <--- mon det virker?! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Hvis jeg har budt på en auktion og vinder, så kontakt mig vha mail :-)
#9
buggi
Maxi Supporter
15-11-2005 16:08

Rapporter til Admin
Hvis man køre med config filer, til database og andet, så kan man gøre dette: <php require_once("config.php"); ?> <html> ... </html> i config.php står der: <?php session_start(); ob_Start(); ... ?> så er man sikker på at få orden på diverse headers
--
Min DOSBox Guide: http://kortlink.dk[...] http://z4nd.net[...]
#10
kastermester
Junior Supporter
15-11-2005 16:10

Rapporter til Admin
#9 Ja det kan man, men det er nu lidt af en tøse løsning hvis du spørger mig :P. Man bør nu selv have styr på hvordan det hænger sammen + at det tager ressurser at bruge output buffering. Men ja, skriv fejlen, og indholdet af dine filer, så skal vi nok hjælpe :).
--
Kaare
#11
Zeneka
Ultrabruger
15-11-2005 16:22

Rapporter til Admin
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /var/www/html/index2.php:5) i den linie hvor den skriver der er fejl står følgende: <style> det kan der vel ikke være noget fejl i
--
så længe vi er stive .... er vi i live
#12
KC
Supporter Aspirant
15-11-2005 16:23

Rapporter til Admin
Kom med mere kode. Det kan jo være du har glemt et semikolon i linien før....
--
<b>Røv røv og røv</b> <--- mon det virker?! xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Hvis jeg har budt på en auktion og vinder, så kontakt mig vha mail :-)
#13
Zeneka
Ultrabruger
15-11-2005 16:29

Rapporter til Admin
sådan her ser index2.php filen ud <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>ingen</title> <style> td{font-family:verdana;font-size:10px} A { text-decoration: none; color:ffffff; font-size: 10; font-family: verdana; font:900; } a:visited{color:006699} a:hover{color:blue} .bold{font:900} .style1 { font-size: 16px; font-weight: bold; color: #FF0000; } .style2 {color: #000000} </style> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } //--> </script> </head> <body LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH="0" MARGINHEIGHT="0" onLoad="MM_preloadImages('images/b1.jpg','images/b2.jpg','images/b3.jpg','images/b4.jpg','images/b5.jpg')"> <table cellspacing="0" cellpadding="0" border="0" height="100%" width="100%"> <tr> <td width="50%" background="images/back_all.jpg"></td> <td height="100%"> <table border="0" cellpadding="0" cellspacing="0" width="704" height="100%"> <tr> <td colspan="2"><img src="images/slogan.jpg" border="0" width="701" height="187" alt=""></td> <td width="3" background="images/line_right.jpg" rowspan="3" valign="top"><img src="images/line_right.jpg" border="0" width="3" height="67" alt=""></td> </tr> <tr> <td colspan="2"><a href="/index.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image5','','images/b1.jpg',1)"><img src="billeder/b1.jpg" name="Image5" width="105" height="34" border="0"></a><a href="/support.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image6','','images/b2.jpg',1)"><img src="billeder/b4.jpg" name="Image6" width="101" height="34" border="0"></a><a href="/webshop.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image7','','images/b3.jpg',1)"><img src="billeder/b2.jpg" name="Image7" width="102" height="34" border="0"></a><a href="/info.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image8','','images/b4.jpg',1)"><img src="billeder/b3.jpg" name="Image8" width="103" height="34" border="0"></a><a href="/kontakt.php" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image9','','images/b5.jpg',1)"><img src="billeder/b5.jpg" name="Image9" width="104" height="34" border="0"></a><img src="images/b6.jpg"></td> </tr> <tr> <td colspan="2" valign="top"><p align="center" class="style1 style2">&nbsp;</p> <p> <?php include("index1.php"); ?> &nbsp;</p></td> </tr> <tr> <td background="images/login_back.jpg" valign="top"> <form name="newsletter" action="verify.php" method="POST"> <table width="200" border="0"> <tr> <td width="264"><div align="center" class="style1"><? include("errors.php"); ?></div></td> </tr> <tr> <td><div align="center"><strong>.:: Nyhedsbrev ::.. </strong> </div></td> </tr> <tr> <td><div align="center"> <input type="text" name="email"> </div></td> </tr> <tr> <td> <div align="center"> <input type="submit" name="submit" value="Tilmeld"> </div></td> </tr> </table> </form> <td width="435"><img src="images/partners.jpg" border="0" width="435" height="128" alt=""></td> <td width="3"><img src="images/line_right2.jpg" border="0" width="3" height="128" alt=""></td> </tr> <tr> <td colspan="3" height="100%" style="padding-top:20" background="images/back_all.jpg">&nbsp;</td> </tr> </table> </td> <td width="50%" background="images/back_all.jpg"></td> </tr></table> </body> </html>
--
så længe vi er stive .... er vi i live
#14
rostved
Ny på siden
15-11-2005 17:10

Rapporter til Admin
Hvad har du i index1.php?
--
#15
Zeneka
Ultrabruger
15-11-2005 17:43

Rapporter til Admin
grunden til at den hedder index2.php er at den tester jeg med er en webshop jeg har rodet med, jeg kunne ikke få den integreret bedre end at gøre det på den måde (lige som med nyhedsbrev)
--
så længe vi er stive .... er vi i live
#16
Zeneka
Ultrabruger
15-11-2005 18:06

Rapporter til Admin
nogen kloge hoveder der har en løsning?
--
så længe vi er stive .... er vi i live
#17
Dooley
Mega Supporter
15-11-2005 18:26

Rapporter til Admin
Så har du overhovedet ikke hørt efter, hvad de andre har fortalt dig... starten af din index2 skal se således ud: <?php session_start(); ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <title>ingen</title> <style> td{font-family:verdana;font-size:10px}
--
#18
Zeneka
Ultrabruger
15-11-2005 18:59

Rapporter til Admin
#17 Tro det eller ej så har jeg prøvede det, men det virkede ikke, men nu har jeg fået det hele rettet til
--
så længe vi er stive .... er vi i live

Opret svar til indlægget: fejl i php

Grundet øget spam aktivitet fra gæstebrugere, er det desværre ikke længere muligt, at oprette svar som gæst.

Hvis du ønsker at deltage i debatten, skal du oprette en brugerprofil.

Opret bruger | Login
NYHEDSBREV
Afstemning