Къде е грешката?

WildFire

Registered
Уш съм забранил всички формати освен .rar, .zip, .tar.gz, но все пак се качва .PHP файл?

Код:
<?php
include("config.php");
if(isset($_POST['submit']))
{
$pozvoleni = array(".rar",".zip",".tar.gz"); // позволени формати
$name = htmlspecialchars($_POST['name']);
$author = htmlspecialchars($_POST['author']);
$uploader = htmlspecialchars($_POST['uploader']);
$description = htmlspecialchars($_POST['description']);
$kategoria = htmlspecialchars($_POST['kategoria']);
if($name == NULL || $author == NULL || $description == NULL && !in_array(strtolower($pozvoleni)) )
{
echo "Не сте попълнили всички полета!";
}
else{
     if ($_FILES["file"]["error"] > 0)
      {
      echo "Код на грешката: " . $_FILES["file"]["error"] . "<br />";
      }
     else
      {
      if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
        echo $_FILES["file"]["name"] . " already exists. ";
        }
      else
        {
        move_uploaded_file($_FILES["file"]["tmp_name"],
        "upload/" . $_FILES["file"]["name"]);
        }
	  }
      $link = $_FILES["file"]["name"];
      mysql_query("INSERT INTO plugins_files (kategoria,name,author,uploader,link,description) VALUES ('$kategoria','$name','$uploader','$author','$link','$description')") or die (mysql_query());
      echo "Файла е качен успешно!";
   }
}
?>
 
Ти добре си ги задал, но къде ги ползваш... Само горе задаваш стойност на променливата pozvoleni, но после никъде не е ползваш тази променлива. Дано си ме разбрал. :)
 
<?php
include("config.php");
if(isset($_POST['submit']))
{
$pozvoleni = array("application/rar","application/zip","application/x-gtar","application/x-tar"); // позволени формати
$name = htmlspecialchars($_POST['name']);
$author = htmlspecialchars($_POST['author']);
$uploader = htmlspecialchars($_POST['uploader']);
$description = htmlspecialchars($_POST['description']);
$kategoria = htmlspecialchars($_POST['kategoria']);
if($name == NULL || $author == NULL || $description == NULL && !in_array(strtolower($pozvoleni)) )
{
echo "Не сте попълнили всички полета!";
}
else{
if($_FILES['file']['type']==$pozvoleni) {
if ($_FILES["file"]["error"] > 0)
{
echo "Код на грешката: " . $_FILES["file"]["error"] . "<br />";
}
else
{
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
}
}
$link = $_FILES["file"]["name"];
mysql_query("INSERT INTO plugins_files (kategoria,name,author,uploader,link,description) VALUES ('$kategoria','$name','$uploader','$author','$link','$description')") or die (mysql_query());
echo "Файла е качен успешно!";
}else {echo "Непозволен формат";}
}
}
?>

яя така пробвай...
 
Гледайте колко много иф и елс едно след друго.
Където са грешките с иф
А където няма грешка елсе
 

Back
Горе