Toon posts:

max 50x posten???

Pagina: 1
Acties:
  • 59 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik heb hier onder een standaard form van phpfreakz.
Maar ik wil het instellen dat het formulier maar
50x per dag mag worden verzonden.

en daarna staat er dan iets van "limiet bereikt'
Kan iemand mij helpen en het toepassen op het onderstaande formuliertje?

alvast hartstikke bedankt!!!!

||
||
\/

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php 
    echo '<html><head><title>Mail is verzonden</title></head><body><script type="text/javascript">'; 
    $ontvanger = mijn@emailadres.nl; 
    if($HTTP_POST_VARS['onderwerp']==''){echo 'alert("Je hebt geen onderwerp ingevuld. Zonder onderwerp kan de mail niet verstuurd worden")'; $controle=0;}else{$onderwerp = $HTTP_POST_VARS['onderwerp'];}; 
    if($HTTP_POST_VARS['bericht']==''){echo 'alert("Je hebt geen bericht ingevuld. Zonder bericht kan de mail niet verstuurd worden")'; $controle=0;}else{$bericht = $HTTP_POST_VARS['bericht'];}; 
    if($HTTP_POST_VARS['emailadres']==''){echo 'alert("Je hebt geen e-mail adres ingevuld. Zonder e-mail adres kan de mail niet verstuurd worden")'; $controle=0;}else{$email = $HTTP_POST_VARS['emailadres'];}; 
    if($HTTP_POST_VARS['naam']==''){echo 'alert("Je hebt geen naam ingevuld. Zonder naam kan de mail niet verstuurd worden")'; $controle=0;}else($naam = $HTTP_POST_VARS['naam'];}; 
    if($controle==1){$verzender="From: ".$naam." <".$email.">";}; 
    if($controle==1){mail($ontvanger,$onderwerp,$bericht,$verzender);}; 
    echo "</script">; 
    if($controle=1){echo "mail is verzonden. Klik <a href=javascript:history.back()>hier</a> om terug te gaan of <a href=javascript:close()>hier</a> om het scherm te sluiten.";}
else
{echo " Er is iets niet goed gegaan met het versturen van de mail, ga daarom <a href=javascript:history.back()>terug</a> en verbeter je fout";}; 
    echo "</body></html>"; 
?> 

[ Voor 15% gewijzigd door Verwijderd op 16-05-2003 20:06 ]


Verwijderd

Verwijderd schreef op 16 mei 2003 @ 20:05:
Ik heb hier onder een standaard form van phpfreakz.
Maar ik wil het instellen dat het formulier maar
50x per dag mag worden verzonden.

en daarna staat er dan iets van "limiet bereikt'
Kan iemand mij helpen en het toepassen op het onderstaande formuliertje?

alvast hartstikke bedankt!!!!
Je zult toch zelf even naar een oplossing moeten zoeken. Ga eens kijken naar het schrijven van bestanden / eventueel een database.

Het onderstaande stukje code ziet er ongelooflijk ranzig uit met veel stomme fouten:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php 
    echo '<html><head><title>Mail is verzonden</title></head><body><script type="text/javascript">'; 
    $ontvanger = mijn@emailadres.nl; // Hier missen quotes
    if($HTTP_POST_VARS['onderwerp']==''){echo 'alert("Je hebt geen onderwerp ingevuld. Zonder onderwerp kan de mail niet verstuurd worden")'; $controle=0;} // tegenwoordig gebruiken we $_POST
else{$onderwerp = $HTTP_POST_VARS['onderwerp'];}; 
    if($HTTP_POST_VARS['bericht']==''){echo 'alert("Je hebt geen bericht ingevuld. Zonder bericht kan de mail niet verstuurd worden")'; $controle=0;}else{$bericht = $HTTP_POST_VARS['bericht'];}; 
    if($HTTP_POST_VARS['emailadres']==''){echo 'alert("Je hebt geen e-mail adres ingevuld. Zonder e-mail adres kan de mail niet verstuurd worden")'; $controle=0;}else{$email = $HTTP_POST_VARS['emailadres'];}; 
    if($HTTP_POST_VARS['naam']==''){echo 'alert("Je hebt geen naam ingevuld. Zonder naam kan de mail niet verstuurd worden")'; $controle=0;}else($naam = $HTTP_POST_VARS['naam'];}; 
    if($controle==1){$verzender="From: ".$naam." <".$email.">";};  // Drie keer dezelfde controle? Waarom niet in 1 keer?
    if($controle==1){mail($ontvanger,$onderwerp,$bericht,$verzender);}; 
    echo "</script">; 
    if($controle=1){echo "mail is verzonden. Klik <a href=javascript:history.back()>hier</a> om terug te gaan of <a href=javascript:close()>hier</a> om het scherm te sluiten.";} // Dit is geen controle, maar een toewijzing. Deze tekst zal dus sowieso op het scherm worden gezet
else
{echo " Er is iets niet goed gegaan met het versturen van de mail, ga daarom <a href=javascript:history.back()>terug</a> en verbeter je fout";}; 
    echo "</body></html>"; 
?> 
[/quote]
En volgens mij kom je ook nog in de knoei met je javascripttags

  • Mayco
  • Registratie: Augustus 2002
  • Laatst online: 19-08 06:59
je moet ofwel in een mysql database ofwel in een tekstfile het aantal keren dat de mail verzonden is opslaan.


niet echt belangrijk, maar het viel me wel op:
PHP:
1
    echo "</script">;

is vekeerd. de > moet voor de "

Verwijderd

Laat maar ik lees totaal verkeerd!!

{wis deze post anders maar want ik heb hier niks meer aan toe te voegen!}

[ Voor 155% gewijzigd door Verwijderd op 16-05-2003 20:14 ]


Verwijderd

Als iemand mailt, dan sla je de tijd op in de database, en tel je er 30 minuten bij op. Als iemand 24 uur 'voor ligt', mag hij niet meer mailen tot hij weer onder de 24 uur uitkomt. Als iemand 'achter loopt' op de huidige tijd, dan reset je zijn tijd naar de huidige tijd.

Dus je kunt bijvoorbeeld per ip een entry in de database stoppen en daarvan telkens de tijd updaten.

Bovenstaand is natuurlijk als je wilt dat elke client maar 50 keer mag mailen. Als je wilt iedereen samen maar 50 mailtjes mag versturen, dan kun je volstaan met een simpele textfile met de tijd erin, en daar tel je iedere keer een halfuur bij op, als er gemaild wordt...

Dat is een mogelijke aanpak :)

  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Hoe dan ook, zulk soort vragen zijn niet gewenst in P&W. Wat je namelijk doet, is je hebt iets gevonden en dan moeten wij het gaan aanpassen?

Waarom willen wij dat niet? Wij zijn hier om te leren van elkaar en om ons te vermaken. We zijn geen puppets die je een opdracht kunt voorschotelen en dat wij deze dan afleveren.
Topics hier moeten dus de 'leren' inslag hebben. De TS moet iets willen leren of zelf iets aan een ander leren :)
Dit kan door het posten van code, aangeven waar het fout gaat, aangeven wat al geprobeerd is, aangeven wat wel en wat niet werkte enz enz. Kortom inzet van de Topicstarter is geboden.

Jouw vraag voldoet gewoon niet voor dit forum. Misschien moet je iemand inhuren die nette code voor je kan schrijven als je de aanpassing toch wilt hebben?
Of ga zelf proberen nav de tips die hier staan?

Succes iig :)
Pagina: 1

Dit topic is gesloten.