게시물 수정할때 file 값 문제입니다...
본문
<form>
<input type="hidden" name="is_id" value="<?php echo $is_id; ?>">
<textarea name="is_content" value="is_content"></textarea>
<?php for ($i=1; $i<4; $i++) { ?>
<input type="file" name="bf_file[]" id="bf_file_<?php echo $i ?>">
<?php } ?>
</form>
$is_content = trim($_POST['is_content']);
$is_id = (int) trim($_REQUEST['is_id']);
if($w == ""){
$sql = "insert g5_shop_item_use
set is_content = '$is_content',
bf_file1 = '{$_FILES['bf_file']['name'][0]}',
bf_file2 = '{$_FILES['bf_file']['name'][1]}',
bf_file3 = '{$_FILES['bf_file']['name'][2]}'
where is_id = '$is_id' ";
sql_query($sql);
} else if($w == "u"){
$sql = "update g5_shop_item_use
set is_content = '$is_content',
bf_file1 = '{$_FILES['bf_file']['name'][0]}',
bf_file2 = '{$_FILES['bf_file']['name'][1]}',
bf_file3 = '{$_FILES['bf_file']['name'][2]}'
where is_id = '$is_id' ";
sql_query($sql);
}
안녕하세요. 점심은 맛있게 드셨나요?
필드에는 bf_file1, bf_file2, bf_file3을 만들어서 글 등록까지는 문제없이 잘 되고 있습니다.
근데 글 수정누르고 아무것도 입력안한 상태에서 다시 submit을 하면 is_content 부분은 유지 되는데 (그누보드에서 가져온거라서 어떻게 유지 되는지는 모르겠습니다. 그래서 지금 질문 글에서는 value="is_content"를 넣었습니다.)
파일 부분은 유지가 안됩니다. update bf_file1,2,3 이부분 때문에 공란으로 들어간다는건 알게됐습니다.
근데 글 수정할때 이미 들어간 파일을 지우고 다시 업로드를 하는게 불편할거 같아서 덮어쓰기가 가능하게 update에 bf_file1,2,3을 넣었습니다.
질문은 첫 등록시 123.png 라는 첨부파일을 넣었다 치고 수정할때는 is_content만 바꿔서 올리면 DB에 bf_file1이 공란이 됩니다. 이걸 어떻게 하면 같은 파일을 다시 선택안하고 유지시킬 수 있을까요?
!-->!-->답변 1
지금 하신 소스는 업로드한 파일정보를 넣는거라서 그렇습니다.
업로드 한 파일을 값이 있는때만 넣도록 변경하시면 될거 같습니다.
$sql_add = "";
if({$_FILES['
bf_file
']['
name
'][0]}
) $sql_add .= ,bf_file1 =
'{$_FILES['
bf_file
']['
name
'][0]}'";
~~
이런식으로 2,3추가하시고
$sql = "update g5_shop_item_use set is_content = '$is_content', bf_file1 = '{$_FILES['bf_file']['name'][0]}', bf_file2 = '{$_FILES['bf_file']['name'][1]}', bf_file3 = '{$_FILES['bf_file']['name'][2]}' where is_id = '$is_id' ";
를
$sql = "update g5_shop_item_use set is_content = '$is_content' $sql_add where is_id = '$is_id' ";
로 해보세요
답변을 작성하시기 전에 로그인 해주세요.