Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Czasowa blokada wysyłania formularza
Mateusz10
post 24.06.2009, 16:23:36
Post #1





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.04.2009

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


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
Go to the top of the page
+Quote Post
pgrzelka
post 24.06.2009, 16:29:27
Post #2





Grupa: Zarejestrowani
Postów: 313
Pomógł: 24
Dołączył: 9.08.2008
Skąd: Kielce

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


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. ?>


--------------------
Go to the top of the page
+Quote Post
Darti
post 24.06.2009, 16:31:08
Post #3





Grupa: Zarejestrowani
Postów: 1 076
Pomógł: 62
Dołączył: 6.03.2005
Skąd: Wroc

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


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


--------------------
The answer is out there, Neo. It's looking for you. And it will find you, if you want it to.
SERVER_SOFTWARE : Apache/2.2.4 (Win32) PHP/5.2.1
MySQL Client API version : 5.0.27
Go to the top of the page
+Quote Post
Mateusz10
post 24.06.2009, 16:34:49
Post #4





Grupa: Zarejestrowani
Postów: 34
Pomógł: 0
Dołączył: 25.04.2009

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


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
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2025 - 13:16