bezorg de laatste berichten direct op de desktop
Welkom, Gast
Alstublieft Inloggen of Registreren.    Wachtwoord verloren?

Cookie terug verwijderen
(1 bezoeker) (1) Gast
Ga naar onderkantPagina: 123
TOPIC: Cookie terug verwijderen
#2896
Cookie terug verwijderen 5 Jaren, 11 Maanden geleden Karma: 0
Ik was bezig met een floodcontrol te schrijven op basis van een cookie. Dit werkt allemaal wel, maar ik zou graag hebben wanneer de floodtijd verstreken is dat je terug kunt posten natuurlijk(maar dat werkt al) [b:3ohj1jpc]en [/b:3ohj1jpc]dat de cookie verwijdert wordt; ik wil de pc van de gebruiker immers niet "vervuilen". Ik had eerst de code om de cookie te verwijderen geplaatst na het bericht "Verzonden", maar daar kon het niet staan want dan plaatste hij ook de cookie niet (en werkte de floodcontrol dus niet). Ik heb de code dan toegevoegd aan de if-else structuur, maar ook nu verwijdert hij de cookie niet automatisch nadat de floodtijd verstreken is. Wie weet hoe ik dit kan oplossen??

[php]
<?php ob_start();

//antiflood
function flood(){
$time = 20; // in seconden
if(!isset($_COOKIE["flood"])){
setcookie("flood",time()+$time,time()+$time, "/");
// De laatste parameter is het pad waarin de cookie gebruikt mag worden. Met “/” mag dit over heel de site. Als je bv. zit met verschillende directories die verschillende cookies nodig hebben, dan kan je bv. “/mijndir/” zetten.
}
elseif($_COOKIE["flood"] >= time()){
exit("<b>Je moet nog even wachten voor je je volgende idee kunt plaatsen!</b><br><a href='javascript:window.history.go(-1)'>Klik hier om terug te keren</a>");
}
else {
// cookie terug verwijderen, we willen de pc van de gebruiker niet vervuilen
setcookie("flood", "", time()-$time, "/");
}
}
?>
<html>
<head>
<title>Flood</title>
</head>
<body>
<br>

<?php if($_POST['submit']) {

flood();
$datum = date("Y-m-d H:i:s");
$ip=$_SERVER['REMOTE_ADDR'];

echo "Verzonden $naam";

}
?>


<table>
<form method="post" action="<? echo $PHP_SELF; ?>" name="gastenboek">
<tr><td width="150">Naam:</td><td width="250"><input type="text" name="naam" size="35"></td></tr>
<tr><td width="150">Email:</td><td width="250"><input type="text" name="email" size="35"></td></tr>
<tr><td valign="top">Idee:</td><td><textarea name="idee" cols="34" rows="5"></textarea></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="verzenden"></td></tr>
</form>
</table><br>
</body></html>
[/php]
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2898
5 Jaren, 11 Maanden geleden Karma: 0
Ik heb dat script ff geprobeerd, maar bij mij haalt hij dat cookie gewoon weer weg...
Ik heb alleen een paar dingetjes moeten veranderen:
- Regel 26 `<?php if($_POST['submit']) {` => `<?php if(isset($_POST['submit'])) {`
- Regel 32 `echo "Verzonden $naam";` => `echo "Verzonden " . $_POST['naam'];`
- Regel 39 <form method="post" action="<? echo $PHP_SELF; ?>" name="gastenboek"> => `<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>" name="gastenboek">`

In je browser kan je instellen: cookies bewaren 'tot ze verlopen' (FF 1.5), misschien staat dat bij jou niet aan?

[EDIT] Niet echt duidelijk bericht... Ik heb de stukken code tussen `'s gezet.
Rik
Moderator
Berichten: 28
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2900
5 Jaren, 11 Maanden geleden Karma: 0
is het zowiezo niet makkelijker om hier met sessions te werken?
_arno_
WMS Fan
Berichten: 16
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2902
5 Jaren, 11 Maanden geleden Karma: 0
Dat denk ik ook ja... een flood control betreft seconden. En zodra de browser gesloten wordt is de sessie ook weg.
ted
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2905
5 Jaren, 11 Maanden geleden Karma: 0
[quote="Ted":pyw44euk]Dat denk ik ook ja... een flood control betreft seconden. En zodra de browser gesloten wordt is de sessie ook weg.[/quote:pyw44euk]

Ja, ik wou gewoon ff het systeem van flood uitproberen. Ga later een "deftige" versie maken
Het probleem als je een flood wilt maken met sessies is dat je aan het begin van je pagina ob_start() moet opgeven omdat je anders een "headers already send" krijgt. Dat is iets dat toch maar slecht geregeld is in PHP
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2906
5 Jaren, 11 Maanden geleden Karma: 0
[quote="webmaster":3854jzid]Het probleem als je een flood wilt maken met sessies is dat je aan het begin van je pagina ob_start() moet opgeven omdat je anders een "headers already send" krijgt. Dat is iets dat toch maar slecht geregeld is in PHP [/quote:3854jzid]
Nee hoor dan programmeer jij slecht
_arno_
WMS Fan
Berichten: 16
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
Ga naar bovenkantPagina: 123
Moderators: Rik, Roy