Witam mam problem z formularzem kontaktowym w php
problem polega na tym że np. mimo iż nie wszystkie pola są wypełnione, lub email jest niepoprawny wiadomość jest wysyłana
Wiem że w kodzie jest namieszane, ale w php jestem zielony (IMG:
style_emoticons/default/thumbsdownsmileyanim.gif)
kontakt.php:
//sprawdzenie czy załącznik pochodzi z formularza
if ($_POST["wyslij"]==1)
{
// dane o odbiorcy, nadawcy
$odbiorca="adres odbiorcy mailów";
$tytul= $_POST["temat"];
$nadawca_mail= $_POST["email"];
// treść listu
$tresclistu = $_POST["tresc"];
// definicja nagłówków
$naglowki = "From: $nadawca_mail do <$odbiorca>\n";
$naglowki .= "Content-Type: multipart/mixed;\n";
$naglowki .= "\tboundary=\"___$znacznik==\"";
// nagłówki listu
$tresc="--___$znacznik==\n";
$tresc .="Content-Type: text/plain; charset=\"UTF-8\"\n";
$tresc .="\n$tresclistu\n";
// nagłówki i obsługa załącznika
$plik_nazwa_tmp = $_FILES["plik1"]["tmp_name"];
$plik_nazwa_oryginalna = $_FILES["plik1"]["name"];
$plik_wielkosc = $_FILES["plik1"]["size"];
$plik_nazwa_tmp2 = $_FILES["plik2"]["tmp_name"];
$plik_nazwa_oryginalna2 = $_FILES["plik2"]["name"];
$plik_wielkosc2 = $_FILES["plik2"]["size"];
$plik_nazwa_tmp3 = $_FILES["plik3"]["tmp_name"];
$plik_nazwa_oryginalna3 = $_FILES["plik3"]["name"];
$plik_wielkosc3 = $_FILES["plik3"]["size"];
$plik_nazwa_tmp4 = $_FILES["plik4"]["tmp_name"];
$plik_nazwa_oryginalna4 = $_FILES["plik4"]["name"];
$plik_wielkosc4 = $_FILES["plik4"]["size"];
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp,"rb"); }
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna2\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp2,"rb"); }
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna3\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp3,"rb"); }
{
$tresc .="--___$znacznik==\n";
$tresc .="Content-Type: image/gif\n";
$tresc .="Content-Disposition: attachment;\n";
$tresc .=" filename=\"$plik_nazwa_oryginalna4\"\n";
$tresc .="Content-Transfer-Encoding: base64\n\n";
$f = fopen($plik_nazwa_tmp4,"rb"); }
// wysłanie listu
if (mail($odbiorca,$tytul,$tresc,$naglowki)) {
}
else
{
}
}
//--- początek funkcji weryfikującej adres e-mail ---
function checkMail($checkmail) {
if(filter_var($checkmail, FILTER_VALIDATE_EMAIL)) {
return true;
}else{
return false;
}
} else {
return false;
}
}
//--- koniec funkcji ---
if(checkMail($nadawca_mail)) {
echo "<script type='text/javascript'>window.alert('Wiadomość została wysłana');</script>"; } else {
echo "<script type='text/javascript'>window.alert('Podany Email jest nieprawidłowy!');</script>"; }
} else {
//komunikat w przypadku nie powodzenia
echo "<script type='text/javascript'>window.alert('Wypełnij wszystkie pola! (załączniki opcjonalne)');</script>"; }
kontakt.html
<FORM METHOD="post" ACTION="kontakt.php" ENCTYPE="multipart/form-data"> <input type="hidden" name="wyslij" value="1" /> <input type="hidden" name="MAX_FILE_SIZE" value="2000000" /> <input name="email" id="tematmail" placeholder="twój email"> <input name="temat" id="tematmail" placeholder="temat wiadomości"><br> <br><input type="file" name="plik1" id="file"><br> <input type="file" name="plik2" id="file"><br> <input type="file" name="plik3" id="file"><br> <input type="file" name="plik4" id="file"><br> <input type="submit" value="wyślij!" id="button"><input style="margin-left:3px;" type="reset" value="resetuj" id="button">
z góry dziękuje za pomoc (IMG:
style_emoticons/default/thumbsupsmileyanim.gif)