mysql로 게시판을 임시로 제작을 해보았는데 글등록 오류 채택완료
qoqofh
4년 전
조회 1,935
</p>
<p><?php
require_once("../data/dbconfig.php");</p>
<p> //$_POST['bno']이 있을 때만 $bno 선언
if(isset($_POST['bno'])) {
$bNo = $_POST['bno'];
}</p>
<p> //bno이 없다면(글 쓰기라면) 변수 선언
if(empty($bNo)) {
$bID = $_POST['bID'];
$date = date('Y-m-d H:i:s');
}</p>
<p> //항상 변수 선언
$bPassword = $_POST['bPassword'];
$bTitle = $_POST['bTitle'];
$bContent = $_POST['bContent'];</p>
<p>//글 수정
if(isset($bNo)) {
//수정 할 글의 비밀번호가 입력된 비밀번호와 맞는지 체크
$sql = 'select count(b_password) as cnt from board_free where b_password=password("' . $bPassword . '") and b_no = ' . $bNo;
$result = $db_conn->query($sql);
$row = $result->fetch_assoc();
//비밀번호가 맞다면 업데이트 쿼리 작성
if($row['cnt']) {
$sql = 'update board_free set b_title="' . $bTitle . '", b_content="' . $bContent . '" where b_no = ' . $bNo;
$msgState = '수정';
//틀리다면 메시지 출력 후 이전화면으로
} else {
$msg = '비밀번호가 맞지 않습니다.';
?>
<script>
alert("<?php echo $msg?>");
history.back();
</script>
<?php
exit;
}
//글 등록
} else {
$sql = 'insert into board_free (b_no, b_title, b_content, b_date, b_hit, b_id, b_password) values(null, "' . $bTitle . '", "' . $bContent . '", "' . $date . '", 0, "' . $bID . '", password("' . $bPassword . '"))';
$msgState = '등록';
}</p>
<p>//메시지가 없다면 (오류가 없다면)
if(empty($msg)) {
$result = $db_conn->query($sql);
//쿼리가 정상 실행 됐다면,
if($result) {
$msg = '정상적으로 글이 ' . $msgState . '되었습니다.';
if(empty($bNo)) {
$bNo = $db_conn->insert_id;
}
$replaceURL = './view.php?bno=' . $bNo;
} else {
$msg = '글을 ' . $msgState . '하지 못했습니다.';
?>
<script>
alert("<?php echo $msg?>");
history.back();
</script>
<?php
exit;
}
}</p>
<p>?>
<script>
alert("<?php echo $msg?>");
location.replace("<?php echo $replaceURL?>");
</script></p>
<p>
게시판을 제작해 보았는데, 글을 등록하지 못했다고 계속 뜨는 상태여서요....
혹시 코드상에 문제가 있는걸까요?
처음에 mysqli쿼리를 dbconfig에서 못찾아서, daconfig.php에서 mysqli_close($db_conn); 이부분을 주석처리한 상태입니다.
질문이 어찌보면 광범위할 수 있는데, 가늠이라도 잡기위해 질문을 드려봅니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
채택된 답변
+20 포인트
4년 전
//메시지가 없다면 (오류가 없다면)
if(empty($msg)) {
$result = $db_conn->query($sql);
if( !$result) {
mysqli_connect_error();
}
//쿼리가 정상 실행 됐다면,
추가해서 query 문에 에러가 있는지 확인해 보세요.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
q
qoqofh
4년 전
쿼리에러는 없는것으로 나오는데 php 버전문제인지..... 참 어렵네요...ㅋ
�
엑스엠엘
4년 전
DB에는 추가가 되었나 한번 확인해 보세요.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 3개
q
qoqofh
4년 전
require_once("../data/dbconfig.php");
여기서 불러와지고 있습니다.
[code]
<?php
header('Content-Type: text/html; charset=UTF-8');
$db_conn = mysqli_connect("localhost", "아이디", "비밀번호", "DB");
if (!$db_conn) {
$error = mysqli_connect_error();
$errno = mysqli_connect_errno();
print "$errno: $error\n";
exit();
}
//mysqli_close($db_conn);
?>
[/code]
여기서 불러와지고 있습니다.
[code]
<?php
header('Content-Type: text/html; charset=UTF-8');
$db_conn = mysqli_connect("localhost", "아이디", "비밀번호", "DB");
if (!$db_conn) {
$error = mysqli_connect_error();
$errno = mysqli_connect_errno();
print "$errno: $error\n";
exit();
}
//mysqli_close($db_conn);
?>
[/code]
�
엑스엠엘
4년 전
질문 본문에 있는 소스가 이 파일을 include하나요?
q
qoqofh
4년 전
네 맞습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인