Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Użycie cookies/ip przy formularzu
Forum PHP.pl > Forum > Przedszkole
rkkr
Witam serdecznie. Mam na stronie poniższy kod. Czy ktoś mógłby mi podpowiedzieć jak zabezpieczyć ankietę przed wielkorotnym wypełnianiem za pomocą cookies lub za pomocą ip?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2.  
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4.  
  5.  
  6. <title>Tytuł</title>
  7.  
  8. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  9.  
  10. <link rel="stylesheet" type="text/css" href="style.css" />
  11.  
  12. </head>
  13.  
  14.  
  15. <?php
  16.  
  17. if (count($_POST))
  18.  
  19. {
  20.  
  21. ////////// USTAWIENIA //////////
  22.  
  23. $email = 'xxx@onet.pl'; // Adres e-mail adresata
  24.  
  25. $subject = 'Pytanie1'; // Temat listu
  26.  
  27. $message = 'Twoje odpowiedzi zostały przesłane!'; // Komunikat
  28.  
  29. $error = 'Wystąpił błąd! Spróbuj jeszcze raz!'; // Komunikat błędu
  30.  
  31. $charset = 'iso-8859-2'; // Strona kodowa
  32.  
  33. //////////////////////////////
  34.  
  35. $head =
  36.  
  37. "MIME-Version: 1.0\r\n" .
  38.  
  39. "Content-Type: text/plain; charset=$charset\r\n" .
  40.  
  41. "Content-Transfer-Encoding: 8bit";
  42.  
  43. $body = '';
  44.  
  45. foreach ($_POST as $name => $value)
  46.  
  47. {
  48.  
  49. if (is_array($value))
  50.  
  51. {
  52.  
  53. for ($i = 0; $i < count($value); $i++)
  54.  
  55. {
  56.  
  57. $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
  58.  
  59. }
  60.  
  61. }
  62.  
  63. else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
  64.  
  65. }
  66.  
  67. echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
  68.  
  69. }
  70.  
  71. else
  72.  
  73. {
  74.  
  75. ?>
  76.  
  77. <form action="?" method="post">
  78. <input name="Imię" />Podaj swój nick<br />
  79.  
  80. </br></br>
  81.  
  82. <!-- Pole typu RADIO -->
  83. <p>Pytanie A</p>
  84. <input type="radio" name="pytanieA" value="0" />0
  85. <input type="radio" name="pytanieA" value="1" />1
  86. </br></br>
  87.  
  88. <!-- Pole typu RADIO -->
  89. <p>Pytanie B:</p>
  90. <input type="radio" name="pytanieB" value="0" />0
  91. <input type="radio" name="pytanieB" value="1" />1
  92. <br /><br />
  93.  
  94. <!-- Przycisk WYŚLIJ -->
  95.  
  96. <input type="submit" value="Wyślij wynik" />
  97.  
  98. </form>
  99.  
  100. <?php
  101.  
  102. }
  103.  
  104. ?>
  105.  
  106. </div>
  107.  
  108. <!-- End Right Column -->
  109.  
  110. <div class="clear"></div>
  111.  
  112. <!-- End Wrapper -->
  113.  
  114. </body>
  115.  
  116. </html>

MONII28
Najprościej
  1. setcookie('ankieta', '1');


Wyświetlenie ankiety
  1. if(isset($_COOKIE['ankieta']))
  2. echo "Ankieta została już przesłana";
  3. else
  4. echo "Ankieta";

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.