Forum forum.webPC.pl Strona Główna  
  forum.webPC.pl
FAQ  FAQ   Szukaj  Szukaj   Użytkownicy  Użytkownicy   Grupy  Grupy
 
Rejestracja  ::  Zaloguj Zaloguj się, by sprawdzić wiadomości
 
Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Ten sam mail za pomoca formularza wyslany kilka razy:-(

Napisz nowy temat  Odpowiedz do tematu
 Ten sam mail za pomoca formularza wyslany kilka razy:-( Zobacz poprzedni temat :: Zobacz następny temat --> 
Autor Wiadomość
tapis
PostWysłany: Pią Gru 15, 2006 7:58 pm    Temat postu: Ten sam mail za pomoca formularza wyslany kilka razy:-( Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość
marcin2b
PostWysłany: Wto Gru 19, 2006 8:33 pm    Temat postu: Mail Odpowiedz z cytatem

Funfel

Dołączył: 17 Gru 2006
Posty: 66

Podaj mi ten skrypt lub czy jest oparty na php czy innym.
_________________
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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
tapis
PostWysłany: Wto Gru 19, 2006 11:19 pm    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość
ben
PostWysłany: Sro Gru 27, 2006 3:48 am    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
tapis
PostWysłany: Sro Gru 27, 2006 3:16 pm    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość
marcin2b
PostWysłany: Czw Gru 28, 2006 1:01 am    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
ben
PostWysłany: Czw Gru 28, 2006 7:06 pm    Temat postu: Odpowiedz z cytatem

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
Zobacz profil autora Wyślij prywatną wiadomość Odwiedź stronę autora
Wyświetl posty z ostatnich:   
Napisz nowy temat  Odpowiedz do tematu Strona 1 z 1

Forum forum.webPC.pl Strona Główna --> PHP, MySQL oraz inne bazy danych --> Ten sam mail za pomoca formularza wyslany kilka razy:-(
Skocz do:  



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


gabloty aluminiowe, wiaty kroll, aquai
Powered by phpBB © 2001, 2005 phpBB Group.