login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Pagina met 'timer'

Offline roberini - 30/09/2008 21:34
Avatar van roberiniHTML beginner Hoe doe je dat? Dat je een form ziet, en als je op submit heb gedrukt en het is goed gegaan, dat je 30 seconden moet wachten voordat je weer op submit kan drukken. Als je eerder drukt staat er, je moet ... seconde wachten voordat je dit weer mag doen.

19 antwoorden

Gesponsorde links
Offline vinTage - 30/09/2008 21:38
Avatar van vinTage Nieuw lid Dat gaat met javascript.

setTimeOut => in plaats van een alert enable je de button.

Offline roberini - 30/09/2008 21:40
Avatar van roberini HTML beginner en als ik dan naar een andere pagina ga, en ik kom terug op die pagina, is hij dan blijven doortelleN? of is hij gestopt met tellen en telt hij weer op nieuw
Offline vinTage - 30/09/2008 21:42
Avatar van vinTage Nieuw lid opnieuw....try it yourself 
Offline roberini - 01/10/2008 21:26
Avatar van roberini HTML beginner Eigenlijk is het niet wat ik zoek, ik bedoel zoals iets dat bij dit zoek script op Sima is. Kijk maar is bij zoeken, als je te snel achterelkaar zoekt staat er: je moet nog 3 seconde wachten of iets dergelijks
Offline shibble - 01/10/2008 21:38 (laatste wijziging 01/10/2008 21:38)
Avatar van shibble MySQL interesse stel je vraag dan goed...

een floodsysteempje?
zo ja:

met of zonder mysql?
Offline roberini - 01/10/2008 21:40
Avatar van roberini HTML beginner zonder mysql graag
Offline shibble - 01/10/2008 21:56
Avatar van shibble MySQL interesse ik weet niet zeker of het mogelijk is maar je kan het met sessions proberen? sla je een tijd op in een sessie ga je nakijken of het al XX seconden later is, zo ja dan mag die weer submitten zoniet dan zorg je dat de submit button inactief word of een message.

togh ben ik voorstander van database:p
Offline Erwt - 02/10/2008 12:16
Avatar van Erwt PHP beginner Ik geloof dat hij een al-bestaand script zoekt als ik me niet vergis. Sorry voor m'n nutteloze bijdrage.. aangezien ik op 't moment geen tijd heb er 1 te maken.
Offline Kr4nKz1n - 02/10/2008 13:00
Avatar van Kr4nKz1n Onbekend Maak een functie in PHP en gebruik een SESSION met een timestamp van de laatste actie.

In de functie maak je de controle of je door mag gaan.
Offline roberini - 05/10/2008 21:44
Avatar van roberini HTML beginner Medieval had ooit met Session gewerkt(met een timer) en dat werkte toen niet goed:( Zijn ernog andere oplossingen?
Offline vinTage - 05/10/2008 21:47
Avatar van vinTage Nieuw lid helaas.. 



^^
Offline Stijn - 06/10/2008 01:27
Avatar van Stijn PHP expert @MedieVal: you suck!

  1. define('SPAM_TIME' , 60*5);//5minuten
  2.  
  3. function canPost()
  4. {
  5. return ( isset($_SESSION['antispam']) ) ? ($_SESSION['antispam'] - time() < SPAM_TIME) : true; //ik ben te lui voor if/else
  6. }
  7.  
  8. //bij het versturen van je formulier
  9. if( $_SERVER['REQUEST_METHOD'] == 'POST' && canPost() ) {
  10.  
  11. $_SESSION['antispam'] = time();
  12.  
  13. //verwerking van je formulier
  14.  
  15. }
Offline roberini - 06/10/2008 08:29
Avatar van roberini HTML beginner thanx stijn, zal ff testen
Offline Joost - 06/10/2008 10:33 (laatste wijziging 06/10/2008 10:51)
Avatar van Joost PHP expert
stijn1989 schreef:
@MedieVal: you suck!

[..code..]
Met vrijwel exact dezelfde code waren er een paar mensen die telkens achter elkaar konden..
Met posten is dat niet zo heel erg, maar bij mij was de hele functionaliteit van het script weg 

--

Verbeter me als het niet klopt, maar als ik zo snel even kijk klopt je code niet.
Als je $_SESSION['antispam'] plaats op de huidige time() en het daarna aftrekt van de nieuwe time() is het altijd minder, dus returned hij altijd true 

  1. <?php
  2. define("ANTI_SPAM", 60*5);
  3.  
  4. function canPost(){
  5. if(isset($_SESSION['antispam'])){
  6.  
  7. $time = time() - $_SESSION['antispam'];
  8. if($time < ANTI_SPAM){
  9. return TRUE;
  10. } else {
  11. return FALSE;
  12. }
  13.  
  14. } else {
  15. return true;
  16. }
  17. }
  18.  
  19. if($_SERVER['REQUEST_METHOD'] == "POST" && canPost() ){
  20.  
  21. $_SESSION['antispam'] = time();
  22.  
  23. }


Ik ben niet enorm gewend met de verkorte sytnax van if/else, maar volgensmij klopt die niet.
Offline Kr4nKz1n - 06/10/2008 11:03
Avatar van Kr4nKz1n Onbekend
Citaat:
ik ben te lui voor if/else

Hiervoor is het gemaakt.

Alleen ik snap hem niet
  1. return isset($_SESSION['antispam']) ? $_SESSION['antispam'] - time() < SPAM_TIME : true;


In tekstvorm

Citaat:
Als $_SESSION['antispam'] is gezet dan;
$_SESSION['antispam'] - time() < SPAM_TIME
anders;
true
Offline Mythix - 06/10/2008 15:13 (laatste wijziging 06/10/2008 15:33)
Avatar van Mythix Nieuw lid
stijn1989 schreef:
@MedieVal: you suck!

hij is iig al niet alleen;

zoals krank al zei klopt je verkorte if niet, miss dat hij met inbreng van wat haken wel kan werken



  1. return (isset($_SESSION['antispam'])) ? (($_SESSION['antispam'] - time()) < SPAM_TIME) : true;


Ik test het zometeen ff uit

Edit:
  1. $i = 4;
  2. $result = isset($i) ? ((8 - 2) > $i) : true;
  3. var_dump( $result );
  4. //print: bool(true)
  5. $i = 6;
  6. $result = isset($i) ? ((8 - 2) > $i) : true;
  7. var_dump( $result );
  8. //print: bool(false)


Looks like we have a winner!
Eerste script van Stijn zou dus wel moeten werken, iig de verkorte if toch... Ik dacht dat de haken rond de binnenste conditie er niet waren... Lijkt er op dat we iets te snel beoordeelden

edit: ligt het aan mij of heeft stijn ondertussen de haken toegevoegd zodat het wel werkt? of heeft krank ze verwijderd in zijn code...

Citaat:
Rens edit:
Dit ligt aan jou.
Als een bericht bewerkt is komt dat er bij te staan:
Door: Mythix
Op: 06/10/2008 15:13
Laatste wijziging: 06/10/2008 15:24
Offline Stijn - 06/10/2008 15:27
Avatar van Stijn PHP expert @Mythix: Op: 06/10/2008 01:27 , dus ik heb mijn code niet bewerkt.

@Medival: time() - $_SESSION['antispam']; in mijn code staat dit omgekeerd, lees het eens.
Offline Mythix - 06/10/2008 15:45 (laatste wijziging 06/10/2008 15:49)
Avatar van Mythix Nieuw lid ok nice, had het niet opgemerkt, meestal komt dit onderaan te staan 

anyways, je code was dus perfect in orde, iig de korte if, ik had me gefocussed op die van Krank, dacht dat deze dezelfde was, deze laatste is dus wel fout, aangezien er geen haken rond de binnenste conditie staan.

de haken rond de eerste conditie zijn overbodig, maar een goeie gewoonte.

Ik heb iig weeral enkele zaken bijgeleerd vndg 

verder ff ontopic: Ik zou de serverside met de client side combineren zo belast je de server minder, heb je minder verkeer, is je website sneller, en als javascript uitgeschakeld is of omzijlt wordt heb je nog altijd je server side script als back-up
Offline Stijn - 06/10/2008 17:06
Avatar van Stijn PHP expert Javascript lijkt me een slecht idee omdat je die kan omzeilen, ook al staat die aan.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.245s