Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Formularz kontaktowy, samoczynne wysyłanie ?
szopik
post
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
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
nevt
post
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
Go to the top of the page
+Quote Post
zakręcony
post
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)
Go to the top of the page
+Quote Post
envp
post
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)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 15:17