(그누보드x) 게시판 글 수정 시, 비밀번호가 틀려도 수정되는 오류 질문
본문
게시판을 그누보드가아닌, 일반 적으로 자체제작 하여보았는데,
글 수정을 누른 후, 글을수정하게 되면 비밀번호가 일치할 경우에만 수정이 되어야하는데, 현재 비밀번호가 틀려도 수정이 되고 있는 상태입니다..ㅠㅠ 코드상에 문제가 있는건데 해결점을 찾기 위해 질문을 드려봅니다 ㅠㅠ
<?php
include "../data/dbconfig.php";
$bno = $_GET['idx'];
$username = $_POST['name'];
$userpw = password_hash($_POST['pw'], PASSWORD_DEFAULT);
$title = $_POST['title'];
$content = $_POST['content'];
$sql = mq("update board set name='".$username."',pw='".$userpw."',title='".$title."',content='".$content."' where idx='".$bno."'");
$bno = $_POST['b_no']; //게시글 번호
$sql2 = mq("select * from board where idx='".$bno."'");//board테이블에서 idx가 bno변수에 저장된 값을 찾음
$board = $sql2->fetch_array();
$pwk = $_POST['pw'];
$bpw = $reply['pw'];
if (password_verify($pwk, $bpw)) {
$sql3 = mq("update reply set content='".$_POST['content']."' where idx = '".$rno."'");//reply테이블의 idx가 rno변수에 저장된 값의 content를 선택해서 값 저장
?>
<script type="text/javascript">alert('수정되었습니다.'); location.replace("./view.php?idx=<?php echo $bno; ?>");</script>
<?php
} else { ?>
<script type="text/javascript">alert('비밀번호가 틀립니다');
history.back();
</script>
<?php } ?>
답변 1
<?php
include "../data/dbconfig.php";
$bno = $_GET['idx'];
$username = $_POST['name'];
$userpw = password_hash($_POST['pw'], PASSWORD_DEFAULT);
$title = $_POST['title'];
$content = $_POST['content'];
$bno = $_POST['b_no']; //게시글 번호
$sql2 = mq("select * from board where idx='".$bno."'");//board테이블에서 idx가 bno변수에 저장된 값을 찾음
$board = $sql2->fetch_array();
$pwk = $_POST['pw'];
$bpw = $reply['pw'];
if (password_verify($pwk, $bpw)) {
$sql3 = mq("update reply set content='".$_POST['content']."' where idx = '".$rno."'");//reply테이블의 idx가 rno변수에 저장된 값의 content를 선택해서 값 저장
$sql = mq("update board set name='".$username."',pw='".$userpw."',title='".$title."',content='".$content."' where idx='".$bno."'");
?>
<script type="text/javascript">alert('수정되었습니다.'); location.replace("./view.php?idx=<?php echo $bno; ?>");</script>
<?php
} else { ?>
<script type="text/javascript">alert('비밀번호가 틀립니다');
history.back();
</script>
<?php } ?>
update board
<= 시키는 구문이
if (password_verify($pwk, $bpw)) { 이후에 들어가야 합니다
!-->
답변을 작성하시기 전에 로그인 해주세요.