![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 8.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam taki dość nietypowy problem chyba. Stowrzyłem prosty formularz kontaktowy, wpisuje sie imie nazwisko adres email oraz treść, wszystko ładnie działa maile przychodzą poprawnie, jednak zauważyłem coś dziwnego otóż kilka razy dziennie dostaje puste maile, tzn. niewypełniony formularz. I nie wiem czy to wina formularza czy moze braku zapezpieczeń przed wysłaniem go z pustymi polami, ma jedno zapezpieczenie tzn chodzi o podanie poprwanej składni adresu e-mail. Ponizej wklejam kod, prosze o pomoc czy formularz jest źle skonstruowany oraz czy ktoś spotkal się z podobnym problemem i co może być przyczyną takiego zachowania.
Strona na ktorej umieczony jest formularz(kontakt.html): <h2>Formularz kontaktowy</h2> <form action="kontakt.php" onsubmit='return sprawdz_email(this);' method="post"> <div class="formularz"> <label class="kontakt" for="fImie">Imię</label> <input id="fImie" name="fImie" class="text" type="text" /> </div> <div class="formularz"> <label class="kontakt" for="fNazwisko">Nazwisko</label> <input id="fNazwisko" name="fNazwisko" class="text" type="text" /> </div> <div class="formularz"> <label class="kontakt" for="fMail">E-mail</label> <input id="fMail" name="fMail" class="text" type="text" /> </div> <div class="formularz"> <label class="kontakt" for="fText">Treść</label> <textarea id="fText" name="fText" cols="40" rows="10"></textarea> </div> <div class="formularz"> <input id="fSubmit" name="fSubmit" class="submit" type="image" src="images/form_wyslij.gif" value="Wyślij" /> </div> </form> Kod php do jego obsługii(kontakt.php): <body> <?php $mail = "xxx@xxx.pl"; $fImie=$_POST['fImie']; $fNazwisko=$_POST['fNazwisko']; $fMail=$_POST['fMail']; $fText=$_POST['fText']; $tresc = " Imie: $fImie <br>Nazwisko: $fNazwisko <br>Treść: $fText "; $nag = "From: $fMail\n"; $nag .= "MIME-Version: 1.0\n"; $nag .= "Content-Type: text/html;\n"; $nag .= "\tcharset='utf-8'\n"; $nag .= "Content-Transfer-Encoding: 8bit\n\n"; if( mail("$mail", "Formularz kontaktowy", $tresc, $nag)) echo "<div id='mail_kontakt'><p><center>Dziękujemy za wysłanie formularza.</center></p></div> <meta http-equiv='refresh' content='3;url=kontakt.html' /> "; else echo "<div id='mail_kontakt'><p><center>BŁĄD (IMG:http://forum.php.pl/style_emoticons/default/exclamation.gif) ! Nie wysłano formularza, prosze spróbować ponownie!</center></p></div> <meta http-equiv='refresh' content='3;url=kontakt.html' /> "; ?> </body> Ten post edytował szopik 8.10.2007, 15:26:06 |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 1 595 Pomógł: 282 Dołączył: 24.09.2007 Skąd: Reda, Pomorskie. Ostrzeżenie: (0%) ![]() ![]() |
Pomogłoby, gdybyś pokazał kod tej funkcji: sprawdz_email(this)
Ale wystarczy też, jak zrobisz dodatkową walidację w PHP, sprawdź czy któraś ze zmiennych przekazywanych przez $_POST nie jest pusta i wtedy nie wysyłaj e-maila... Pozdrawim. Ten post edytował nevt 9.10.2007, 06:30:28 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 107 Pomógł: 10 Dołączył: 26.09.2007 Ostrzeżenie: (0%) ![]() ![]() |
dzieje sie tak ponieważ nie masz zabezpieczeń w pliku odpowiedzialnym za wysłanie (kontakt.php)
jak wpiszesz adrses.pl/kontakt.php to będzie wysyłać meila z pustymi danymi samo zabezpieczenia na kontakt.html nie wystarczy (choć JS to nie zabezpieczenie) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 359 Pomógł: 1 Dołączył: 16.04.2006 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
no to użyj jakiegoś uniqid() w sesji i po problemie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 14:30 |