Cookie vraag
Code (php)
Ik heb niet de moeite genomen om het hele topic precies door te lezen, maar zoiets zou toch moeten werken?
In bepaalde gevallen kan het ook bandbreedte besparen (compressie) omdat je output in 1x kunt verzenden ipv stukje voor stukje en het wordt ook echt niet alleen maar gebruikt om dingen te fixen.
Hier nog wat leesvoer voor geinteresseerden:
http://hudzilla.org/phpwiki/index.php?title=Advantages_of_output_buffering
Output buffering afdoen als "voor je vriendin " vind ik dan ook een beetje simplistisch ;).
Gewijzigd op 01/01/1970 01:00:00 door Jaws
Jaws, er zijn betere manieren om je output in een blok te outputten. Heb nog nooit een goede toepassing van ob_ gezien wat echt niet op een betere manier kon.
wes schreef op 18.03.2008 14:29:
Jaws, er zijn betere manieren om je output in een blok te outputten. Heb nog nooit een goede toepassing van ob_ gezien wat echt niet op een betere manier kon.
Welke manieren zijn dit dan?
Even een voorbeeld waar ob handig is en misschien wel de enige oplossing is:
Stel je hebt een formulier dat je laat invullen (je zit ook in een sessie). Dat formulier stuur je via POST naar een andere script dat de formulier gegevens gaat afhandelen (je blijft in die zelfde sessie). Als alles correct is afgehandeld wil je via een header() doorgestuurt worden naar een andere pagina. Hoe doe je dit zonder ob? Je heft namelijk eerst de session_start() aan moeten roepen. Dan krijg je een hoop verwerking voordat je pas die header() kunt aanroepen. Dan krijg je dus een "headers already send" melding.
Hoe kun je dit met puur PHP anders oplossen dan?
Nooit meer een headers already send probleem
Heb je code gebruikt maar krijg de volgende fout:
Parse error: syntax error, unexpected T_STRING in /home/hulst/domains/spaarhamster.nl/public_html/links.php on line 8
?? Weet jewat dit is?
Kevin schreef op 18.03.2008 17:29:
@Mathijs
Heb je code gebruikt maar krijg de volgende fout:
Parse error: syntax error, unexpected T_STRING in /home/hulst/domains/spaarhamster.nl/public_html/links.php on line 8
?? Weet jewat dit is?
Heb je code gebruikt maar krijg de volgende fout:
Parse error: syntax error, unexpected T_STRING in /home/hulst/domains/spaarhamster.nl/public_html/links.php on line 8
?? Weet jewat dit is?
Wat is je huidige code? Ik vermoed een typfout.
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Kevin -
Op regel 6 ontbreekt een ;
inderdaad ik maar op regel 7 kijken die bij mij als 8 staat en die de fout kreeg haha nu ga ik ff testen :)
Gewijzigd op 01/01/1970 01:00:00 door Kevin -
Vandaar dat je bij debuggen dus ook altijd op de vorige regels moet kijken en niet alleen naar het genoemde regelnummer.
Jaws schreef op 18.03.2008 14:23:
Output buffering kan meer dan alleen headers op een later tijdstip verzenden.
In bepaalde gevallen kan het ook bandbreedte besparen (compressie) omdat je output in 1x kunt verzenden ipv stukje voor stukje en het wordt ook echt niet alleen maar gebruikt om dingen te fixen.
Hier nog wat leesvoer voor geinteresseerden:
http://hudzilla.org/phpwiki/index.php?title=Advantages_of_output_buffering
Output buffering afdoen als "voor je vriendin " vind ik dan ook een beetje simplistisch ;).
In bepaalde gevallen kan het ook bandbreedte besparen (compressie) omdat je output in 1x kunt verzenden ipv stukje voor stukje en het wordt ook echt niet alleen maar gebruikt om dingen te fixen.
Hier nog wat leesvoer voor geinteresseerden:
http://hudzilla.org/phpwiki/index.php?title=Advantages_of_output_buffering
Output buffering afdoen als "voor je vriendin " vind ik dan ook een beetje simplistisch ;).
Output buffering voor headers_sent(); is je band plakken met ducktape of een pleister op een botbreuk plakken.
Het kan wel handig zijn voor een aantal dingen maar absoluut niet voor headers allready sent errors! Als je die krijgt maak je gewoon ergens anders een structurele fout!
Voor output compression heeft Apache bijvoorbeeld ook mod_deflate, mod_gezip.
Die zijn helaas niet altijd aanwezig dus daar zou je het o.a. voor kunnen gebruiken. Maar dan laat je php het werk van de server opknappen eigenlijk. Scheelt netto-netto dan nog wel. Maar Apache moet weer wachten op php en diens request...
Gewijzigd op 01/01/1970 01:00:00 door Lode
Djemo schreef op 18.03.2008 13:07:
Je kunt gewoon header("Location: ..."); gebruiken, hoor. Bovenaan je script, na session_start(); zet je ob_start();. Dat zal de 'Headers already sent'-error verhelpen.
Je kunt het beste eerst het cookie maken. En deze een ruime executiontime geven. Dan voer je uit wat je wilt uitvoeren. Als je daarmee klaar bent, overschrijf je het cookie met een executiontime van direct verlopen (time()+0, dus). Dat zal hem direct doen verlopen.
Daarna kun je controleren of $cookie_var inhoud heeft (empty()). En zo kijken of hij mag headeren of niet :).
Je kunt het beste eerst het cookie maken. En deze een ruime executiontime geven. Dan voer je uit wat je wilt uitvoeren. Als je daarmee klaar bent, overschrijf je het cookie met een executiontime van direct verlopen (time()+0, dus). Dat zal hem direct doen verlopen.
Daarna kun je controleren of $cookie_var inhoud heeft (empty()). En zo kijken of hij mag headeren of niet :).
DIt is dnek wat wel zou verhelpen want het werkt nu allemaal wel maar de adverteerder krijgt u afkomst onbekend?.. terwijl dat www.domein.nl/links.php moet zijn..
Maar het bovenstaande idee heb geen idee hoe ik dat moet scripten met executie tijd.. Iemand die kan helpen?
Iemand die me misschien zou kunnen helpen kom er niet uit.