Cookie vraag
Ik wil heb de volgende cookie aangemaakt:
Nu wil ik die dus dat als er een cookie is dat hij de url in het cookie opent. Zo niet dan het script verder uitleest en niks doet.
Ik ken bijna geen php ben lerende maar kan het niet vinden.
Alvast bedankt!!!
heb het geprobeerd bij mij maar hij redirect niet naar de opgegeven link ..
en hij gaat gewoon verder met de rest van het script.
enig idee?
iig bedankt voor je reactie :D
Je moet trouwens zorgen dat de code die ik je gegeven heb staat voor welke output dan ook of je krijg weer zon vieze 'header already sent error'.
Henk schreef op 17.03.2008 22:06:
Dat betekent dat hij de cookie niet goed heeft geset.
Je moet trouwens zorgen dat de code die ik je gegeven heb staat voor welke output dan ook of je krijg weer zon vieze 'header already sent error'.
Je moet trouwens zorgen dat de code die ik je gegeven heb staat voor welke output dan ook of je krijg weer zon vieze 'header already sent error'.
Hij staat helemaal boven in de pagina vanaf waar geredirect moet worden.
Maar wat zou het probleem kunnen zijn met het cookie dan?
de cookie word in dit script geladen op 1 pagina.
Code (php)
Heb ook al zonder exit geprobeerd
Gewijzigd op 01/01/1970 01:00:00 door Kevin -
Waar heb jij mijn code staan dan?
http://www.spaarhamster.nl/links.php
dat is de pagina die word getoond nadat het cookie is gemaakt
dat is de pagina die word getoond nadat het cookie is gemaakt
Gewijzigd op 01/01/1970 01:00:00 door Kevin -
Hij kan gesloten worden cookie moet zo zijn: voor als andere het nodig hebbeb
Thnx Henk!!
Om dat goed te laten werken moet voordat er naar de ad word verwezen het cookie worden verwijderd. Maar op het moment dat ik timer() +3600 of een willekeuring ander getal gebruik pakt hij het cookie helemaal niet.
Iemand een idee?
Kevin schreef op 18.03.2008 11:26:
timer() +3600 of een willekeuring ander getal gebruik pakt hij het cookie helemaal niet.
Iemand een idee?
Iemand een idee?
Ik neem aan dat je time() + 3600 bedoeld en niet timer(), want die functie bestaat niet in PHP.
Jaws schreef op 18.03.2008 12:45:
Ik neem aan dat je time() + 3600 bedoeld en niet timer(), want die functie bestaat niet in PHP.
Kevin schreef op 18.03.2008 11:26:
timer() +3600 of een willekeuring ander getal gebruik pakt hij het cookie helemaal niet.
Iemand een idee?
Iemand een idee?
Ik neem aan dat je time() + 3600 bedoeld en niet timer(), want die functie bestaat niet in PHP.
excuus .. Zal even melden wat ik nu probeer .. ben ipv header met javascript redirect aan het werken en er komt schot in de zaak.
Je derde parameter in de setcookie()-functie klopt niet. Die derde parameter staat voor de executiontime; de tijd dat hij verloopt. Als jij deze opgeeft als 0, zal hij direct verlopen en dus niet meer bestaan als je er verder op controleert.
Djemo schreef op 18.03.2008 12:57:
Je derde parameter in de setcookie()-functie klopt niet. Die derde parameter staat voor de executiontime; de tijd dat hij verloopt. Als jij deze opgeeft als 0, zal hij direct verlopen en dus niet meer bestaan als je er verder op controleert.
dat is juist hij moet maar 1x gebruikt worden. want als ik naar links.php ga moet ik niet bij de advertentie terecht komen.
maar nu ist zo:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
// controleer eerst of het cookie bestaat
if(isset($_COOKIE['ad'])) {
// cookie bestaat, lees de waarde uit
$cookie_var = $_COOKIE['ad'];
// druk de waarde eventueel af (dit kan ook rechtstreeks natuurlijk)
} ?>
<script language="JavaScript">
<!--
window.location="<?php echo $cookie_var; ?>";
//-->
</script>
// controleer eerst of het cookie bestaat
if(isset($_COOKIE['ad'])) {
// cookie bestaat, lees de waarde uit
$cookie_var = $_COOKIE['ad'];
// druk de waarde eventueel af (dit kan ook rechtstreeks natuurlijk)
} ?>
<script language="JavaScript">
<!--
window.location="<?php echo $cookie_var; ?>";
//-->
</script>
Maar nu mag javascript alleen gaan redirecten wanneer er een cookie aanwezig is wanneer dit niet zo is moet hij gewoon verder gaan met het script. Iemand een idee?
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 :).
Code (php)
Let op dat je nergens output genereert voor de header() functie, zelfs geen spatie.
Gewijzigd op 01/01/1970 01:00:00 door Jaws
@Kevin: je gaat in je javascriptje met een variabele aan de haal waarvan je niet weet of die bestaat. Dit gaat je een error van een undefined index opleveren wanneer je koekje niet bestaat. Het hangt allemaal een beetje slap aan elkaar op deze manier. Sowieso is het gebruik van een koekje hier echt totaal onnodig.
@Crispijn: hoezo zou ob_start() vies zijn? Het verhelpt wel een veel gekend probleem... :)
In sommige gevallen kom je niet onder het gebruik van ob_ functies uit. Een vies lapmiddel zou ik het niet willen noemen, maar ik denk dat het hier ook niet noodzakelijk is. Er hoeft geen output verzonden te worden voordat de cookie is uitgelezen en de eventuele header() is verzonden.
Met header kan ik niet de cookie verwijderen.
Met javascript lukt dat wel als ik de variabele tijdelijk opsla.
Want het is dus noodzakelijk dat de cookie word verwijder net voordat hij word doorgestuurd omdat dit anders elke keer problemen veroorzaakt het oproepen van de gewone pagina.
@chrispijn:
Heb je een andere manier dan? Ik zou het graag horen.
bedankt allemaal voor reacties. en ik ga straks weer ff verder puzzelen
Het is onnodig om te gebruiken als je code op goede volgorde staat en correct is.
Djemo schreef op 18.03.2008 13:14:
Nee hoor, verkeerde logica blijft verkeerde logica, je ziet het alleen niet direct en je krijgt er geen foutmelding op. Dat je dankzij dit lapmiddel ook andere bugs niet meer ziet, dat is weer een ander probleem.@Crispijn: hoezo zou ob_start() vies zijn? Het verhelpt wel een veel gekend probleem... :)
Op het moment dat je ob nodig hebt, weet je dat je script ergens bloedt. Een prop watten erin stoppen lijkt wel te werken, maar oh wee als er nog meer problemen in je script zitten! Good luck met debuggen.
ob is voor je vriendin, niet voor een script.