Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czasowa blokada wysyłania formularza
Forum PHP.pl > Forum > PHP
Mateusz10
Ma skrypt formularza wszystko ładnie działa tylko chciałbym zrobić blokadę żeby nie było można wysyłać formularza jeden za drugim, aby zabezpieczyć się przed spamem. Najlepiej gdyby była do blokada w ciasteczkach na 10 minut.

<?php
if (count($_POST))
{
////////// USTAWIENIA //////////
$email = 'dudzicz.mateusz@gmail.com'; // Adres e-mail adresata
$subject = 'Zgłoszenie dodania fachowca'; // Temat listu
$message = 'Dziękujemy za zgłoszenie fachowca, wkrótce zostanie dodany'; // Komunikat
$error = 'Wystąpił błąd podczas dodawania'; // Komunikat błędu
$charset = 'iso-8859-2'; // Strona kodowa
//////////////////////////////

$head =
"MIME-Version: 1.0\r\n" .
"Content-Type: text/plain; charset=$charset\r\n" .
"Content-Transfer-Encoding: 8bit";
$body = '';
foreach ($_POST as $name => $value)
{
if (is_array($value))
{
for ($i = 0; $i < count($value); $i++)
{
$body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value[$i]) : $value[$i]) . "\r\n";
}
}
else $body .= "$name=" . (get_magic_quotes_gpc() ? stripslashes($value) : $value) . "\r\n";
}
echo mail($email, "=?$charset?B?" . base64_encode($subject) . "?=", $body, $head) ? $message : $error;
}
else
{
?>
<form action="?" method="post">
Proszę wypełnić pola oznaczone * w przeciwnym razie zgłoszenie fachowca zostanie odrzucone!<br>

<div>
Nazwa Firmy&nbsp;&nbsp;&nbsp;*<input type="text" name="nazwa" /><br />
Województwo&nbsp;*<input type="text" name="wojewodztwo" /><br />
Telefon &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<input type="text" name="btelefon" /><br />
Branża&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*<input type="text" name="branza" /><br />
Inne <br>
<textarea name="inne" cols="25" rows="5"></textarea><br />
<input type="submit" value="Wyślij" />
</div>

</form>
<?php
}
?>

Chciałbym jeszcze żeby po wysłaniu formularza jak się wyświetli nowa podstrona z napisem Dziękujemy za zgłoszenie, po 3 sekundach przenosiło na stronę główną index.php

$message = 'Dziękujemy za zgłoszenie fachowca, wkrótce zostanie dodany'; // Komunikat
pgrzelka
czy dane z formularza idą na Twój adres email a potem ręcznie dodajesz fachowców ?

zainteresuj się bazami danych


Cytat
po 3 sekundach przenosiło na stronę główną index.php

  1. <?php
  2. echo '<META HTTP-EQUIV="Refresh" CONTENT="10;URL=index.php">';
  3. ?>
Darti
Cytat(Mateusz10 @ 24.06.2009, 15:23:36 ) *
Najlepiej gdyby była do blokada w ciasteczkach na 10 minut.

to zapisz w ciastku podczas wysyłania formularza obecny timestamp + 600 i przed następnym wysłaniem sprawdzaj ciacho pod tym kątem

Cytat(Mateusz10 @ 24.06.2009, 15:23:36 ) *
Chciałbym jeszcze żeby po wysłaniu formularza jak się wyświetli nowa podstrona z napisem Dziękujemy za zgłoszenie, po 3 sekundach przenosiło na stronę główną index.php


poszukaj w googlach słów: meta refresh
Mateusz10
Tak dodaje ich ręcznie ponieważ chcę przejrzeć każde zgłoszenie. A jak zrobić tą blokadę?

A może podasz linijkę jaką musze tam dokleić żeby była blokada ciasteczek? na 10 minut
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.