(그누보드x) 게시판 글 수정 시, 비밀번호가 틀려도 수정되는 오류 질문 채택완료
qoqofh
4년 전
조회 2,004
게시판을 그누보드가아닌, 일반 적으로 자체제작 하여보았는데,
글 수정을 누른 후, 글을수정하게 되면 비밀번호가 일치할 경우에만 수정이 되어야하는데, 현재 비밀번호가 틀려도 수정이 되고 있는 상태입니다..ㅠㅠ 코드상에 문제가 있는건데 해결점을 찾기 위해 질문을 드려봅니다 ㅠㅠ
</p>
<p><?php
include "../data/dbconfig.php";</p>
<p>$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."'");</p>
<p>$bno = $_POST['b_no']; //게시글 번호
$sql2 = mq("select * from board where idx='".$bno."'");//board테이블에서 idx가 bno변수에 저장된 값을 찾음
$board = $sql2->fetch_array();</p>
<p>$pwk = $_POST['pw'];
$bpw = $reply['pw'];</p>
<p>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 } ?>
</p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
</p>
<pre>
<code><?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 } ?></code></pre>
<p>
update board <= 시키는 구문이
if (password_verify($pwk, $bpw)) { 이후에 들어가야 합니다
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인