Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Antyflood, Jak dopisac do tego formularza?
psq
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.04.2005

Ostrzeżenie: (0%)
-----


Mam pytanie, napisalem prosty formularz itp.
Ale chciałbym go zabezpieczyc, zeby osoba jak go wypelnila i wyslala, nie mogła wysłać go ponownie.. np. dzialajaca na cookie lub na IP.. a czas niemoznosci napisania to powiedzmy Xdni lub Xgodzin itp.. jestem naprawde poczatkujacy i nie bardzo wiem jak za to sie zabrac, a szukalem, ale zaden gotowiec mi nie dzialal:/
  1. <center>
  2. <form action="list.php" method="post">
  3. <input type="text" name="pole1" /><br>
  4. <input type="text" name="pole2" /><br><input type="text" name="pole3" /><br /><input type="submit" value="OK" />
  5. </form>
  6. </center>
  7.  
  8. <?
  9. $pole1 = stripslashes(trim($_POST["pole1"]));
  10. $pole2 = stripslashes(trim($_POST["pole2"]));
  11. $pole3 = stripslashes(trim($_POST["pole3"]));
  12.  
  13. if ($pole1<>"" && $pole2<>"" && $pole3<>"") {
  14. $tresc="$pole1n $pole2n $pole3nn";
  15. $f=fopen("dane.txt", "a");
  16. fputs($f, $tresc);
  17. fclose($f);
  18. mail("mail@mail.pl", "TEMAT", $tresc);
  19. echo "List został wysłany, dziekujemy...";
  20. }
  21. ?>

O tak wyglada caly formularz.. ale nie bardzo wiem jak go zabezpieczyc przed floodem. Oczywiscie jest on mniejszy od oryginalnego.. Chyba dobrze napisalem.. Prosiłbym o pomoc, z góry dziekuje.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
psq
post
Post #2





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 13.04.2005

Ostrzeżenie: (0%)
-----


jezeli dobrze zrozumiealem to robie tak:
tworze plik powiedzmy test.php w nim mam to
  1. <?php
  2. if ($_COOKIE['List']==1)
  3. {
  4. echo 'Sorry nie mozesz narazie wyslac formularza';
  5. }
  6. else
  7. {
  8.  include 'formularz.php';
  9. }
  10. ?>

w pliku formularz mam to:
  1. <form action="formularz.php" method="post">
  2. <p align="center">
  3. <input type="text" name="pole1" />
  4. <input type="text" name="pole2" /><br>
  5. <input type="submit" value="WYSLIJ" />
  6. <?php
  7. $pole1 = stripslashes(trim($_POST["pole1"]));
  8. $pole2 = stripslashes(trim($_POST["pole2"]));
  9. if ($pole1<>"" && $pole2<>"") {
  10. $f=fopen("dane.txt", "a");
  11. fputs($f, $tresc);
  12. fclose($f);
  13. mail("mail@mail.pl", "TEMAT", $tresc);
  14. echo "Formularz Wyslany";
  15. setcookie("List",1,time()+48*3600); //x jest liczba godzin
  16. }
  17. ?>

Jezeli tak, to niestety wywala mi błąd po wyslaniu formularza taki:
Kod
Formularz Wyslany
Warning: Cannot modify header information - headers already sent by (output started at c:\usr\krasnal\www\cpe\form\formularz.php:13) in c:\usr\krasnal\www\cpe\form\formularz.php on line 95

na lini 95 znajduje sie:
  1. <?php
  2. setcookie("List",1,time()+144*3600); //x jest liczba godzin
  3. ?>

Nie wiem czy dobrze zrozumialem wyzsza wypowiedz:(
Dziekuje ze tracicie na mnie czas (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.10.2025 - 10:16