Понимаю что где-то туплю уже 3 день, но уже устал тупить ;-\
Проблема следующая:
отправляю запрос обновить инфу в БД
форма:
PHP:
скопировать код в буфер обмена
<form action="admin.php?view=update&t=biography&id=<?=$page_data['id'];?>" method="post" enctype="multipart/form-data" id="add-edit"> <label for="title"><strong><?=lang('section');?></strong></label> <input type="text" name="title" value="<?=$page_data['title']?>" size="60" /> <label><strong><?=lang('сontent');?>: (<i><?=lang('full_text');?></i>)</strong></label> <textarea name="text" cols="55" rows="11"><?=$page_data['text']?></textarea> <label><strong><?=lang('photo');?>:</strong> </label> <a href="images/biography/<?=$page_data['bio_img1'];?>" rel="lightbox"> <input type="image" name="thumbs_img1" src="<? if($page_data['thumbs_img1'] == '' || $page_data['thumbs_img1'] == 'nophoto.png'){echo "/images/biography/thumbs/nophoto.png";} else echo "images/biography/thumbs/".$page_data['thumbs_img1'];?>" class="thumbs_img" /></a> <label class="uploads"><u><?=lang('upload_image');?> 1</u></label> <input type="file" name="filename1" /> // ну остальные не важно, там всё ОК!!! <input type="hidden" name="title_url" value="<?=$page_data['title_url']?>"/> <input type="submit" name="save" value="<?=lang('save');?>" class="button" onclick="alert('<?=lang('info_uptade');?>');" /> </form>
далее файл index.php: (там работаю через кайсы всё работает ОК, (поэтому не буду грузить ненужным приведу только кейс обновления)
PHP:
скопировать код в буфер обмена
case "update": $count = 0; $table = $_GET['t']; $id = $_GET['id']; foreach($_POST as $ArrKey => $ArrStr) { $row[$count] = $ArrKey; $data[$count] = $_POST[$ArrKey]; if($row[$count] == 'title_url') $data[$count] = translit($_POST['title']); $count++; } update_data($table, $id, $row, $data); header("Location: admin.php?view=".$table); break;
и в фале с function.php работаю с функцией загрузки и обработки фото, так как вся другая инфа полей обновляется без проблем и эта же функция при создании страницы по средствам формы отрабатывает на 100%.
PHP:
скопировать код в буфер обмена
// Функция загрузки и изменения размера фото для разделов биографии function bio_img1($table) { while ($_SERVER['REQUEST_METHOD'] == "POST" && $_FILES['filename1']['error'] == 0) { $type = ""; //определяем расширение файла switch ($_FILES['filename1']['type']) { case "image/png": $type = "png"; break; case "image/gif": $type = "gif"; break; case "image/jpg": $type = "jpg"; break; case "image/jpeg": $type = "jpeg"; break; default: echo "Неподходящее расширение файла!"; } //в зависимости от типа файла динамически образуем функцию для создания изображений $create_img = "imagecreatefrom".$type; //динамически создаем функцию (imagepng/imagegif/imagejpeg) для записи картинок в файл $img_write = "image".$type; //создаем исходную картинку из полученного файла $src_img = $create_img($_FILES['filename1']['tmp_name']); //записываем в массив размер изображения $src_img_size = getimagesize($_FILES['filename1']['tmp_name']); if($_FILES['filename1']['size'] >= 1000*3456){$info = "Превышен допустимый размер файла!"; break;} else { //создаем пустую (целевую) картинку размером 964х704px (важно именно truecolor!, иначе будем иметь 8-битный результат) //копируем и меняем размер изображения 964, 704, $src_img_size[0], $src_img_size[1]); //записываем аватарку в файл с необходимым расширением if($type == "png" || $type = "gif") { $img_write($dst_img, "images/biography/".date('ymdHis')."_".$_FILES['filename1']['name']); $bio_img1 = date('ymdHis')."_".$_FILES['filename1']['name']; return $bio_img1; } else if($type == "jpeg") { $img_write($dst_img, "images/biography/".date('ymdHis')."_".$_FILES['filename1']['name'], 100 ); $bio_img1 = date('ymdHis')."_".$_FILES['filename1']['name']; return $bio_img1; } else {echo "Ошибка преобразования файла!"; break;} } } }
файл при обновлении в необходимую папку с заданным размером перемещается, но запись в базе не появляется.(Отредактировано автором: 22 Февраля, 2014 - 17:45:05)
|