login  Naam:   Wachtwoord: 
Registreer je!
 Forum

mktime() en sessions controle lukt niet.. (Opgelost)

Offline vinTage - 27/01/2006 22:46 (laatste wijziging 26/03/2007 15:32)
Avatar van vinTageNieuw lid ik heb een probleempje met mn antie spam dingetje.

  1. <?php
  2. //bovenin de pagina staat
  3. $datumvar = mktime(date("G"), date("i"), date("s"), date("m"), date("j"), date("Y"));
  4.  
  5. // dit zet ik in de session (dat gaat goed, met echo $_SESSION['mijn_string'] geeft hij het juiste resultaat
  6. $_SESSION['mijn_string'] = mktime(date("G"), date("i"), date("s"), date("m"), date("j"), date("Y"));
  7.  
  8.  
  9.  
  10. //en hiermee plaats ik een reply
  11.  
  12. if($_POST['bericht'] =="")
  13. {
  14. echo "<font color = 'red'><b>Wel een berichtje invullen he.</b></font><br /><br />";
  15. }
  16. else if($_SESSION['mijn_string'] < $datumvar+100)
  17. {
  18. echo "<font color = 'red'><b>te snel</b></font><br /><br />";
  19. }
  20. else
  21. { //hier mn post naar database gedoe(die wel werkt zonder die if else session gedoe)


Hij geeft contineu aan dat ik te snel reply, maar zelfs met plus één seconde werkt het niet..

of doe ik iets anders geks ?

4 antwoorden

Gesponsorde links
Offline haytjes - 27/01/2006 22:50 (laatste wijziging 27/01/2006 22:51)
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
misschien de
  1. <?
  2. $_SESSION['mijn_string'] = mktime(date("G"), date("i"), date("s"), date("m"), date("j"), date("Y"));
  3. ?>


helemaal vanonder in je script zetten?

(mag ik wel zeggen dat dit geen veilige, sluitende oplossing is. Je werkt dan beter via ip, want cookies kan je faken en deleten)
Offline vinTage - 27/01/2006 22:52
Avatar van vinTage Nieuw lid maar dan overschrijft hij de waarde die ik die session geef als ik gepost heb.

Die sessie word gevuld zodra je een reply geeft aan iemand (met een post button).

Nu wil ik dat je niet klakkeloos kan replyen, maar dat er 100 seconden tussen zit.
Offline haytjes - 27/01/2006 22:57
Avatar van haytjes Gouden medailleGouden medaille

JS gevorderde
  1. <?php
  2. //bovenin de pagina staat
  3. $datumvar = mktime(date("G"), date("i"), date("s"), date("m"), date("j"), date("Y"));
  4.  
  5. // dit zet ik in de session (dat gaat goed, met echo $_SESSION['mijn_string'] geeft hij het juiste resultaat
  6. $datumoud = $_SESSION['mijn_string'];
  7. $_SESSION['mijn_string'] = mktime(date("G"), date("i"), date("s"), date("m"), date("j"), date("Y"));
  8.  
  9.  
  10.  
  11. //en hiermee plaats ik een reply
  12.  
  13. if($_POST['bericht'] =="")
  14. {
  15. echo "<font color = 'red'><b>Wel een berichtje invullen he.</b></font><br /><br />";
  16. }
  17. else if($datumoud< $datumvar+100)
  18. {
  19. echo "<font color = 'red'><b>te snel</b></font><br /><br />";
  20. }
  21. else
  22. {
Offline vinTage - 27/01/2006 23:14 (laatste wijziging 27/01/2006 23:24)
Avatar van vinTage Nieuw lid Ik snap wel wat je doet hier, en dat klinkt heel aannemelijk, maar helaas werkt het niet.

Ik heb hier de hele code staan, mischien dat ik iets anders verkeerds doe, (deze code is al aangepast na de bovenstaande reply van haytjes)

edit
haytjes heeft me op IRC geholpen en kwam erachter dat het
$datumoud > $datumvar-100 moest zijn.

Nu werkt het perfect, THX ALLOT haytjes..
Ik voel me wel dom, ik was daar al en uur of 3 mee bezig geweest 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.201s