Notice: Undefined index: files in newnews.php on line 61

Dinisimys

<?php
$modul_name='Написать/редактировать новость';
require_once "../function.php";
if (!user()) {
header("Location: /");
exit;
} elseif($rang1<4) {
header("Location: /");
exit;
}
require_once "../head.php";
$bbcode->script();
echo '<script>
function file(n)
{
$("#file"+n).show();
}
</script>';
$n=!empty($_GET['n']) ? $_GET['n'] : 0;
$q=$mysqli->query("select*from `blog` where `num`='$n'");
if ((!empty($_GET['n']) and !empty($_GET['cat']) and $q->num_rows!=0 and isget('red','del,up,d')) or $_GET['red']=='new') {
$red=$_GET['red'];
$redag=false;
switch ($red) {
case 'del':
echo div('Вы уверены, что хотите удалить новость?<br>
<a href="?n='.$n.'&red=d">Да</a> | <a href="/">Нет</a>');
break;
case 'd':
$mysqli->query("delete from `blog` where `num` = '$n'");
$mysqli->query("delete from `comment` where `num_post` = '$n'");
$dir=scandir('../blog/img/'.$n);
for($i=2;$i<count($dir);$i++) {
unlink('../blog/img/'.$n.'/'.$dir[$i]);
}
rmdir('../blog/img/'.$n);
echo '<script>
document.location.href="/";
</script>';
break;
case 'up':
$arr=$q->fetch_assoc();
$text=$arr['text'];
$name=$arr['name'];
if (!empty($_GET['n'])) {
$n=$_GET['n'];
$q=$mysqli->query("select*from `blog` where `num`='$n'");
if($q->num_rows!=0) $redag=true;
}
break;
case 'new':
$text=$name="";
$redag=true;
}
if(ispost('name,msg')) {
$name=$_POST['name'];
$text=htmlspecialchars($_POST['msg']);
if (longform($name,5,200)) echo div('Название новости не должно содержать менее чем 5сим. и более чем 200сим.');
elseif (longform($text,300,3000)) echo div('Текст записи не должен содержать менее чем 300сим. и более чем 3000сим.');
elseif ($red=='up') {
for ($key=0; $key < sizeof($_FILES['files']);$key++)
{
if ($_FILES['files']['error'][$key] == 0) {
$file_n=preg_replace('/\[img(.*?)\](.*?)\[\/img\]/','$2',$_POST['file_n'][$key]).'.jpg';
move_uploaded_file($_FILES['files']['tmp_name'][$key],'../blog/img/'.$num.'/'.$file_n);
}
}
$mysqli->query("update `blog` set `name` = '$name', `text` = '$text' where `num` = '$n'");
echo div('Новость успешно изменена.','h').nav('../blog/post.php?n='.$n,'Перейти на страницу новости.');
$redag=false;
} else {
$date=time();
$mysqli->query("insert into `blog` set `name` = '$name', `text` = '$text', `date` = '$date', `cat` = 'news', `tags`='новости', `url`='-'");
$num=select('num','blog','text',$text);
mkdir('../blog/img/'.$num);
echo div('Новость успешно добавленно.','h').nav('../blog/post.php?n='.select('num','blog','text',$text),'Перейти на страницу новости.');
$redag=false;
}
}
if($redag) {
echo '<form name="mess" action="newnews.php?n='.$n.'&cat=news&red='.$red.'" method="post">
Название(5-200):<input type="text" name="name" value="'.$name.'"><br>
Текст(300-3000):'.$bbcode->panel(true).'<textarea name="msg">'.$text.'</textarea>';
if($_GET['red']=='up') {
echo '<br>Добавить изображения:<br>';
for($i=1;$i<=5;$i++) {
echo '<input type="file" name="files[]" /> <input type="button" value="Получить код" onclick="file('.$i.')" /><span style="display:none" id="file'.$i.'">Введите имя'.img('inf','имя можно на русском,пробелы через дефиз,разширение указывать(например: имя.png)').':<input type="text" name="file_n[]" value="[img w=30;c=w;f=left]здесь[/img]" /></span><br>';
}
} else echo div('Изображения можно добавлять только после создания записи.','inf');
echo '<input type="submit" value="Написать">
</form>'.nav('/','Назад');
}
} else echo div('Такой новости нет.').nav('../','На главную');
htmlend();
?>
Выводит ошибку:Notice: Undefined index: files in newnews.php on line 61 По сути все работает, кроме загрузки файлов.
2 ответа

Dinisimys

надо сначала проверять функцией isset, существует ли это самое $_FILES['files']


Dinisimys

KOPOJI, да, это так. Плюс еще забыл к форме написать одну важную вещь:
enctype="multipart/form-data"
Теперь все работает