Войти

Показать полную графическую версию : Помогите найти ошибку PHP + MySQL


darksmoke
25-11-2008, 23:43
Уже день ищу, не могу понять где бок!
Не добовляет рубрику в БД.

if (isset($_POST['save_writer_select']) && $_POST['writer_select'] !=0 && $_POST['Title'] !="" && $_POST['select_rubric'] != 0)
{
$selec_rubric = $_POST['select_rubric'];

if($_FILES["filename"]["size"] > 1024*3*1024 AND $_FILES["filename"]["name"] ="")
{
echo ("Размер файла превышает три мегабайта."); exit;
}
$filename = $_FILES["filename"]["name"];
if(file_exists("../books/".$filename)) {
mt_srand(time());
$r = mt_rand(0,100);
$filename = "$r".basename($filename);
}
if(copy($_FILES["filename"]["tmp_name"],"../books/".$filename))
{
$writer_select = $_POST['writer_select'];
$title = trim($_POST['Title']);
$select_rubric = $_POST['select_rubric'];
$sql_title = mysql_query("INSERT into `books` (`Writer`,`Title`,`Rubric`,`Path`) values ('$writer_select','$title','$select_rubric','$filename')");
$show = "Книга <b>$title</b> добавлена.";
}

else {
echo("Ошибка загрузки файла или вы не выбрали загружаемый файл.");
}
}

Igor_I
26-11-2008, 01:26
$selec_rubric = $_POST['select_rubric']; - ?
1024*3*1024 - а если завтра разрешишь 4 мегабайта, будешь лопатить код?

$sql_title = mysql_query("INSERT into `books` (`Writer`,`Title`,`Rubric`,`Path`) values ('$writer_select','$title','$select_rubric','$filename')");
То есть не добавляется только поле Rubric?

darksmoke
26-11-2008, 12:40
Все разабрался. Все работает.
Igor_I, а как сделать что бы код не лопатить. Предложи.

Igor_I
26-11-2008, 19:51
а как сделать что бы код не лопатить. Предложи. »
Заводишь переменную $maxfilesize = 3 * 1024 * 1024. Обычно такие переменные определяю в самом начале, помещая в файл с примерно таким названием - config.php. А потом просто проверяешь:
if($_FILES["filename"]["size"] > $maxfilesize ......




© OSzone.net 2001-2012