Witam
Mój prosty formularz ma wrzucać serwer pliki. Chcę aby sytuacja w której jeśli ktoś nie doda pliku lub doda plik z nazwą która już istnieje wyrzucał błąd. Kod działa ale niestety w tylko w drugim przypadku. W pierwszym przypadku czy coś dodam czy nie za każdym razem dostaję informację że nie wybrano pliku.
Formularz:
<form method="post" name="skan" action="rachunki.php" enctype="multipart/form-data"> <th colspan="2">Rachunek
</th> <input type="file" name="fileToUpload" id="fileToUpload"> <input type="submit" name="dodaj" value="Dodaj">
Kod obsługi:
<?php
if(isset($_POST['dodaj'])){
$idd = $_SESSION['idd'];
$target_dir = "C:/pliki/rachunki/";
$ch_dir = false;
$target_file = $target_dir . basename($_FILES["fileToUpload"]["tmp_name"]);
$check_dir = "SELECT * FROM rachunki WHERE nazwa LIKE '$target_file'";
if(isset($_FILES["fileToUpload"]['name'])){ echo "<script type=\"text/javascript\">"."alert('Nie wybrano żadnego pliku!');"."</script>"; $checkk = true;
}else {
$wynik_dir=@$polaczenie->query($check_dir);
$rows2=$wynik_dir->num_rows;
if($rows2>0){
$ch_dir = true;
}
if ($ch_dir == true){
echo "<script type=\"text/javascript\">"."alert('Plik o podanej nazwie już istnieje!');"."</script>";
}else{
if ($_FILES["fileToUpload"]["size"] > 15000000) {
echo "plik jest za duży <br>"; $uploadOk = 0;
}
} else {
}
if((isset($_FILES['fileToUpload']))&&($check == false)) {
$query = "INSERT INTO rachunki (`nazwa`, `id_rachunku`) VALUES ('$target_file', '$idd');";
$result = $polaczenie->query($query);
if($result) {
}
else {
echo 'Błąd przy dodawaniu pliku <br>' . "<pre>{$polaczenie->error}</pre>";
}
} else
{
}
}}}
}
Jeśli wywalę tego if który sprawdza czy został dodany jakiś plik to kod wykonuje się dalej ale (sprawdza czy plik taki istnieje i ewentualnie go dodaje) lepiej wygląda kiedy wywala informację czy ktoś dodał plik czy nie.