티스토리 뷰
PHP - 게시글 수정하기 (3) 제목, 내용, 파일 불러오기 >>
1. form 수정
<form action="blogModifySave.php?blogID=<?=$blogID?>" name="blogWrite" method="post" enctype="multipart/form-data">
<fieldset>
<legend class="ir_so">블로그 게시글 수정 영역</legend>
<?php
$sql = "SELECT blogImgFile, blogCategory, blogTitle, blogContents, blogRegTime FROM myBlog WHERE blogID = '{$blogID}'";
$result = $connect -> query($sql);
$blogInfo = $result -> fetch_array(MYSQLI_ASSOC);
?>
<div>
<label for="blogCate">카테고리</label>
<select name="blogCate" id="blogCate">
<?php
switch($blogInfo['blogCategory']){
case 'daily':
?> <option value="daily" selected>일상</option>
<option value="info">정보</option>
<option value="news">소식</option>
<option value="dish">요리</option>
<?php break;
case 'info': ?>
<option value="daily">일상</option>
<option value="info" selected>정보</option>
<option value="news">소식</option>
<option value="dish">요리</option>
<?php break;
case 'news': ?>
<option value="daily">일상</option>
<option value="info">정보</option>
<option value="news" selected>소식</option>
<option value="dish">요리</option>
<?php break;
case 'dish': ?>
<option value="daily">일상</option>
<option value="info">정보</option>
<option value="news">소식</option>
<option value="dish" selected>요리</option>
<?php break;
}
?>
</select>
<div>
<label for="blogTitle">제목</label>
<input type="text" name="blogTitle" id="blogTitle" placeholder="제목을 넣어주세요" value="<?=$blogInfo['blogTitle']?>" required>
</div>
<div>
<label for="blogContents">내용</label>
<?php
$txt = $blogInfo['blogContents']; //대상 문자열
$result = str_replace('<br />' , '', $txt);
// str_replace('변경 전 문자' , '변경 후 문자', '변경 대상 문자열');
?>
<textarea name="blogContents" id="blogContents" placeholder="내용을 넣어주세요!" required><?=$result?></textarea>
</div>
<div style="margin-bottom:40px;">
<label for="blogImg">현재파일</label>
<img src="../assets/img/blog/<?=$blogInfo['blogImgFile']?>" alt="현재이미지" style="margin-bottom:20px;" class="modifyImg">
//파일 지우기 버튼 추가
<button type="button" onclick="delImg()">현재파일 지우기</button>
</div>
//파일 바꾸기 input 추가
<div>
<label for="blogFile">파일바꾸기</label>
<input type="file" name="blogFile" id="blogFile" placeholder="사진을 넣어주세요! 사진은 jpg, gif, png 파일만 지원이 됩니다.">
</div>
<button type="submit" value="저장하기">저장하기</button>
</fieldset>
</form>
2. delImg() 함수 정의(jQuery)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function delImg() {
//php변수 저장
var delImg = "<? echo $blogInfo['blogImgFile'];?>";
var blogID = "<? echo $blogID;?>";
$.ajax({
type : "POST", //POST방식으로 데이터를 넘겨준다.
url : "blogImgDel.php", //blogImgDel.php로 넘겨준다.
data : {"blogID": blogID, "delImg": delImg}, //blogID와 delImg데이터를 넘겨준다.
dataType : "json",
success : function(data){ //성공하면 class가 modifyImg인 테그의 src속성을 ~defualt.svg(기본이미지)로 바꿔준다.
$(".modifyImg").attr("src", "../assets/img/blog/default.svg");
},
error : function(request, status, error){ //에러코드
console.log("request" + request);
console.log("status" + status);
console.log("error" + error);
}
});
}
</script>
3. blogImgDel.php
<?php
include "../connect/connect.php";
//변수 설정, POST로 전달 받은 데이터 저장
$blogID = $_POST['blogID'];
$delImg = $_POST['delImg'];
//수정 게시글의 파일명을 default.svg(기본이미지)로 바꾼다.
$sql = "UPDATE myBlog SET blogImgFile = 'default.svg' WHERE blogID = {$blogID}";
$result = $connect -> query($sql);
//결과 값으로 true를 넘겨준다.
echo json_encode(array("result" => true));
?>
4. 결과
->현재파일 지우기 버튼 클릭(한번 누르면 무를 수 없음, 수정 필요해 보임)
PHP - 게시글 수정하기 (5) modifySave.php 추가 >>
'PHP' 카테고리의 다른 글
PHP - 게시글 수정하기 (6) 수정이 반영된 게시글 변경 (0) | 2022.04.18 |
---|---|
PHP - 게시글 수정하기 (5) modifySave.php 추가 (0) | 2022.04.18 |
PHP - 게시글 수정하기 (3) 제목, 내용, 파일 불러오기 (0) | 2022.04.18 |
PHP - 게시글 수정하기 (2) 카테고리 불러오기 (0) | 2022.04.18 |
PHP - 게시글 수정하기 (1) 구현 대상 정리 (0) | 2022.04.18 |
댓글
© 2018 webstoryboy