Skyb3rt Skrevet 7. juli 2011 Del Skrevet 7. juli 2011 Jeg holder på å skal lage en gjestebok til en nettside, men når jeg skal poste en melding eller logge meg inn i gjesteboka kommer dette her: Warning: Cannot modify header information - headers already sent by (output started at /home/hardang/public_html/gjestebok.php:11) in /home/hardang/public_html/gjestebok.php on line 156 Men når jeg legger denne fila(gjestebok.php) i ei html fil (<iframe name="gjestebok" style="width:560px;height:536px;z-index:0" src="./gjestebok.php" frameborder="1"></iframe>) Så funker alt. Noen som har en smart løsning? Lenke til kommentar
Sk!ppy Skrevet 7. juli 2011 Del Skrevet 7. juli 2011 Send header informasjon FØR output. Lenke til kommentar
Skyb3rt Skrevet 7. juli 2011 Forfatter Del Skrevet 7. juli 2011 Send header informasjon FØR output. hehe, det er ikke jeg som har laget denne gjesteboka, så hvordan gjør jeg det? Jeg kan såvidt php.. Lenke til kommentar
Sk!ppy Skrevet 7. juli 2011 Del Skrevet 7. juli 2011 Du feilsøker altså et script du ikke har laget selv, som forsåvidt er ok, men du kan altså ikke php? http://norskwebforum.no/viewtopic.php?t=34495 Lenke til kommentar
Skyb3rt Skrevet 7. juli 2011 Forfatter Del Skrevet 7. juli 2011 Du feilsøker altså et script du ikke har laget selv, som forsåvidt er ok, men du kan altså ikke php? http://norskwebforum.no/viewtopic.php?t=34495 Det funka nå, jeg brukte den første løsningen: <?php ob_start(); ?> Nja, jeg kan litt php, men langt ifra masse! Lenke til kommentar
TheClown Skrevet 9. juli 2011 Del Skrevet 9. juli 2011 ob_start er egentlig ikke å anbefalle. Lasting av siden tar lengre tid. Lenke til kommentar
Ernie Skrevet 9. juli 2011 Del Skrevet 9. juli 2011 ob_start er egentlig ikke å anbefalle. Lasting av siden tar lengre tid. … og hvor tar du det fra? Vær klar over at echo/print må sende data til webserveren for hvert kall hvis output buffering er av. Har man mange nok echo/print vil faktisk output buffering gi bedre ytelse fordi man samler opp data fra mange echo/print-kall før noe faktisk sendes til webserveren. Lenke til kommentar
Skyb3rt Skrevet 11. juli 2011 Forfatter Del Skrevet 11. juli 2011 ob_start er egentlig ikke å anbefalle. Lasting av siden tar lengre tid. Det kan umulig være så mye, merket ikke noe forskjell, og i tillegg er det en simpel side som skal lastes, nesten ingen bilder. Så viss det bare er det som er det negative ved den, så får det bare være! Lenke til kommentar
TheClown Skrevet 15. juli 2011 Del Skrevet 15. juli 2011 ob_start er egentlig ikke å anbefalle. Lasting av siden tar lengre tid. … og hvor tar du det fra? Vær klar over at echo/print må sende data til webserveren for hvert kall hvis output buffering er av. Har man mange nok echo/print vil faktisk output buffering gi bedre ytelse fordi man samler opp data fra mange echo/print-kall før noe faktisk sendes til webserveren. But still be aware, that your output will not be sent, before the script is finished, which will make your page slower to load that way also, since it cannot send any output while loading, but will have to wait until the load is finished. - php.cn Lenke til kommentar
Ernie Skrevet 15. juli 2011 Del Skrevet 15. juli 2011 (endret) ob_start er egentlig ikke å anbefalle. Lasting av siden tar lengre tid. … og hvor tar du det fra? Vær klar over at echo/print må sende data til webserveren for hvert kall hvis output buffering er av. Har man mange nok echo/print vil faktisk output buffering gi bedre ytelse fordi man samler opp data fra mange echo/print-kall før noe faktisk sendes til webserveren. But still be aware, that your output will not be sent, before the script is finished, which will make your page slower to load that way also, since it cannot send any output while loading, but will have to wait until the load is finished. - php.cn Jeg tar ikke det der for god fisk. Test dette: <?php $start = microtime(true); ob_start(); for ($i = 0; $i < 1000000; $i++) echo "<!-- Dummy data -->"; $end = microtime(true); echo ($end-$start)."\n"; ob_end_flush(); ?> mot dette: <?php $start = microtime(true); for ($i = 0; $i < 1000000; $i++) echo "<!-- Dummy data -->"; $end = microtime(true); echo ($end-$start)."\n"; ?> fortrinnsvis med en tekstnettleser ala lynx og se hva du får (koden er skrevet i full fart). Det er såklart mulig det er noe feil med testmetodikken, men hos meg blir det ca 0.31s med og 0.76s uten. Det er testet lokalt på maskinen, så når man legger på et reelt nettverk vil resultatet i teorien bli enda verre siden output buffering vil samle opp dataene før de sendes til webserveren. Endret 17. juli 2011 av Ernie Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå