|
|
|
|
|
|
|
|
forum.webPC.pl
|
|
|
 |
Rejestracja ::
Zaloguj
|
Zaloguj się, by sprawdzić wiadomości
|
|
 |
|
Ten sam mail za pomoca formularza wyslany kilka razy:-( |
> Zobacz poprzedni temat :: Zobacz następny temat --> |
Autor |
Wiadomość
|
tapis |
Wysłany: Pią Gru 15, 2006 7:58 pm Temat postu: Ten sam mail za pomoca formularza wyslany kilka razy:-( |
|
|
Nieśmiały
Dołączył: 13 Gru 2006 Posty: 8
|
Witam,
Jak mozna zabezpieczyc formularz, aby nie mozna bylo wyslac dwa razy tego samego maila. Podejrzewam, ze dzieje sie tak jak ktos bardzo szybko kliknie kilka razy w przycisk wyslij.
Dziekuje za odpowiedz.
Pozdrawiam
Wojtek Kaliszak |
|
Powrót do góry |
|
 |
marcin2b |
Wysłany: Wto Gru 19, 2006 8:33 pm Temat postu: Mail |
|
|
 Funfel
Dołączył: 17 Gru 2006 Posty: 66
|
|
Powrót do góry |
|
 |
tapis |
Wysłany: Wto Gru 19, 2006 11:19 pm Temat postu: |
|
|
Nieśmiały
Dołączył: 13 Gru 2006 Posty: 8
|
Jest w php. Jest to zwykly formularz.
formularz.html
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Strona1</TITLE>
</HEAD>
<BODY>
<FORM ACTION="wyslij.php" METHOD="POST">
Pole1:<INPUT TYPE="TEXT" NAME="pole1">
Pole2:<INPUT TYPE="TEXT" NAME="pole2">
Pole3:<INPUT TYPE="TEXT" NAME="pole2">
Treść:<TEXTAREA ROWS=10 COLS=60 NAME="tresc"></TEXTAREA>
<INPUT TYPE="SUBMIT" VALUE="Wyślij">
</FORM>
</BODY>
</HTML>
wyslij.php
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Strona2</TITLE>
</HEAD>
<BODY>
<?
if(mail($pole1, $pole3, $tresc, "From: $pole3 <$pole1>") ) {
echo "Wyslano emaila!";
}
else {
echo "Nie wyslano maila!";
}
?>
</BODY>
</HTML>
Pozdrawiam
Wojtek Kaliszak
tapis@interia.pl |
|
Powrót do góry |
|
 |
ben |
Wysłany: Sro Gru 27, 2006 3:48 am Temat postu: |
|
|
Początkujacy
Dołączył: 28 Lis 2006 Posty: 16 Skąd: Łódź
|
Spróbuj dodać sesję i po naciśnięciu przycisku wyślij sprawdzaj czy np. zmienna $_SESSION['wyslalem'] ma wartość false jeśli tak to zmień jej wartość na true i wyśli maila, jeśli natomiast ma inna wartośc to nie rob nic. W skrypcie do wyswietlanai formularza ustawiaj zawsze wartość $_SESSION['wyslalem'] na false tak zeby mozna było wyslać ejszcze raz dane po wypelnieniu formularza |
|
Powrót do góry |
|
 |
tapis |
Wysłany: Sro Gru 27, 2006 3:16 pm Temat postu: |
|
|
Nieśmiały
Dołączył: 13 Gru 2006 Posty: 8
|
A jak to nalezy uwzglednic/zapisac w kodach podanych przeze mnie powyzej?
Dzieki
Wojtek |
|
Powrót do góry |
|
 |
marcin2b |
Wysłany: Czw Gru 28, 2006 1:01 am Temat postu: |
|
|
 Funfel
Dołączył: 17 Gru 2006 Posty: 66
|
formularz.html
Kod: |
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Strona1</TITLE>
</HEAD>
<BODY>
<FORM ACTION="wyslij.php" METHOD="POST">
Pole1:<INPUT TYPE="TEXT" NAME="pole1">
Pole2:<INPUT TYPE="TEXT" NAME="pole2">
Pole3:<INPUT TYPE="TEXT" NAME="pole3">
Treść:<TEXTAREA ROWS=10 COLS=60 NAME="tresc"></TEXTAREA>
<INPUT TYPE="SUBMIT" VALUE="Wyślij">
</FORM>
</BODY>
</HTML> |
wyslij.php
Kod: |
<TITLE>Strona2</TITLE>
<?
extract($_GET);
extract($_POST);
if(mail($pole1, $pole2, $tresc, "From: $pole3 <$pole1>") ) {
echo "Wyslano emaila!";
}
else {
echo "Nie wyslano maila!";
}
?> |
Może zadziała!!! Ale ja bym to uwzględnił na jednej stronie. _________________ Zachęcam do wzięcia udziału w konkursie http://www.webpc.pl/forum/viewtopic.php?t=590 na użytkownkia roku. |
|
Powrót do góry |
|
 |
ben |
Wysłany: Czw Gru 28, 2006 7:06 pm Temat postu: |
|
|
Początkujacy
Dołączył: 28 Lis 2006 Posty: 16 Skąd: Łódź
|
formularz.php zamiast formularz.html
Kod: |
<?pph
session_start();
$_SESSION['wyslalem'] = false;
?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Strona1</TITLE>
</HEAD>
<BODY>
<FORM ACTION="wyslij.php" METHOD="POST">
Pole1:<INPUT TYPE="TEXT" NAME="pole1">
Pole2:<INPUT TYPE="TEXT" NAME="pole2">
Pole3:<INPUT TYPE="TEXT" NAME="pole2">
Treść:<TEXTAREA ROWS=10 COLS=60 NAME="tresc"></TEXTAREA>
<INPUT TYPE="SUBMIT" VALUE="Wyślij">
</FORM>
</BODY>
</HTML> |
wyslij.php
Kod: |
<?php
session_start();
?>
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=iso-8859-2">
<TITLE>Strona2</TITLE>
</HEAD>
<BODY>
<?
if( $_SESSION['wyslalem'] == false )
{
$_SESSION['wyslalem'] = true;
if(mail($pole1, $pole3, $tresc, "From: $pole3 <$pole1>") )
{
echo "Wyslano emaila!";
}
else
{
echo "Nie wyslano maila!";
}
}
else
echo "Nie wyslano maila!";
?>
</BODY>
</HTML> |
W skrócie mówiąc mail zostanie wysłany tylko raz po uprzednim wejściu na stronę z formularzem. |
|
Powrót do góry |
|
 |
|
|
 |
|
Strona 1 z 1 |
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach
|
|
|
|