arkadaşlar merhaba şöyle bir php kodum var (lütfen sürümüne takılmayın bildiğim gibi yazıyorum) ama upload yapmasını engelleyemiyorum yani upload'da boş geçilmez oluyor isset ve empty kısmından sildiğim halde yüksek ihtimal dosyanın zip olup olmadığını kontrol ederken zip olmadığını gördüğünde boş geçilemez deyip hata veriyor yardımlarınızı rica ediyorum bu engeli nasıl aşabilirim?

özetle diyecekler için :yani upload özelliğini isteğe bağlı opsiyonel olarak kullanılması?

benim post etmeye çalıştığım hata vermeden çalışmasını istediğim form: http://prntscr.com/jigzuq

hata : http://prntscr.com/jigzzx



include("admin/includes/connect.php");
include("admin/includes/function.php");
include("admin/includes/mail/class.phpmailer.php");
?>



İletişim












Formda tüm alanlar boş geçilmezdir.





















Sadece *.zip* uzantılı dosyaları gönderebilirsiniz.






if ($_POST) {
if (isset($_POST['ad']) && isset($_POST['email']) && isset($_POST['tel']) && isset($_POST['url']) && isset($_POST['konu']) && isset($_POST['messages']) && isset($_FILES['ek_dosya'])) {
$ad = $_POST['ad'];
$email = $_POST['email'];
$tel = $_POST['tel'];
$url = $_POST['url'];
$konu = $_POST['konu'];
$messages = $_POST['messages'];
$ek_dosya = $_FILES['ek_dosya'];
if(empty($ad) || empty($email) || empty($tel) || empty($url) || empty($konu) || empty($messages) || empty($ek_dosya)){
echo "boş alan bırakamazsınız!";
exit;
}

else{
$boyut = $_FILES['ek_dosya']['size'];
if($boyut > (1024*1024*25)){
echo 'Dosya 25MB den büyük olamaz.';
}
else{
$tip = $_FILES['ek_dosya']['type'];
$isim = $_FILES['ek_dosya']['name'];
$uzanti = explode('.', $isim);
$uzanti = $uzanti[count($uzanti)-1];
if($tip != 'application/zip' || $uzanti != 'zip') {
echo 'Yanlızca *.Zip* uzantılı dosyaları gönderebilirsiniz.';
}
else{
$dosya = $_FILES['ek_dosya']['tmp_name'];
copy($dosya, 'admin/includes/uploads/' . $_FILES['ek_dosya']['name']);
if($_POST){
$dosya = $_FILES['ek_dosya']['tmp_name'];
$dosya_adi = $_FILES['ek_dosya']['name'];
$yol = "admin/includes/uploads/" . $dosya_adi;
$ad=htmlspecialchars(addslashes(trim($_POST["ad"])));
$email=htmlspecialchars(addslashes(trim($_POST["email"])));
$tel=htmlspecialchars(addslashes(trim($_POST["tel"])));
$url=htmlspecialchars(addslashes(trim($_POST["url"])));
$konu=htmlspecialchars(addslashes(trim($_POST["konu"])));
$messages=htmlspecialchars(addslashes(trim($_POST["messages"])));
$tarih = date('d.m.Y');
$ip=htmlspecialchars(addslashes(trim($_SERVER["REMOTE_ADDR"])));
/*db kayıt*/
$add=mysql_query("INSERT INTO iletisim_v1 (ad,email,tel,url,konu,messages,tarih,ip,dosya_adi) values (
'$ad',
'$email',
'$tel',
'$url',
'$konu',
'$messages',
'$tarih',
'$ip',
'$dosya_adi'
)");
/*mail*/
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = 'mail.:).com';
$mail->Port = :);
$mail->Username = 'mailAdres@';
$mail->Password = 'mailPass';
$mail->SetFrom($mail->Username, $_POST['ad']);
$mail->AddAddress('mailAdres@', 'İbrahim Yılmaz');
$mail->CharSet = 'UTF-8';
$mail->Subject = $_POST["konu"];
$mail->MsgHTML('İsim: '.htmlspecialchars(addslashes(trim($_POST["ad"]))).'


E-Posta: '.htmlspecialchars(addslashes(trim($_POST["email"]))).'


Telefon: '.htmlspecialchars(addslashes(trim($_POST["tel"]))).'


Web sitesi: '.htmlspecialchars(addslashes(trim($_POST["url"]))).'


Konu: '.htmlspecialchars(addslashes(trim($_POST["konu"]))).'


Mesaj: '.htmlspecialchars(addslashes(trim($_POST["messages"]))).'


Kayıt Tarihi: '.$tarih = date('d.m.Y').'


İp Adresi: '.htmlspecialchars(addslashes(trim($_SERVER["REMOTE_ADDR"]))).'


');
if($mail->Send()) {
echo 'Mesajınız başarıyla gönderildi.';
}
else {
echo 'Mesaj gönderirken bir hata oluştu ve girmiş olduğunuz bilgiler alınamadı.' . $mail->ErrorInfo;
}
header("location:index");
}
}

}
}
}
else {
echo "form boş!";
}
}
?>