/data/dbconfig.php 에러
본문
안녕하세요.
이렇게 뜨는데 어떤 문제일까요?
고수님들의 조언 부탁드립니다.
감사합니다.
오류내용입니다.
Warning: include_once(/data/dbconfig.php): failed to open stream: No such file or directory in /www/alphastim.godohosting.com/bbs/qa_add_rusult.php on line 7
Warning: include_once(): Failed opening '/data/dbconfig.php' for inclusion (include_path='.:') in /www/alphastim.godohosting.com/bbs/qa_add_rusult.php on line 7
insert into g5_member_alphastim_anxiety (mb_id, mb_qa01, mb_qa02, mb_qa03, mb_qa04, mb_qa05) value ('abc', '예', '아니오', '1', '', '')
1062 : 중복된 입력 값 'abc': key 'g5_member_addinfo'
error file : /bbs/qa_add_result.php
qa_add.php 파일 내용입니다.
<form id="fregisterform" name="fregisterform" action="/bbs/qa_update.php" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="mb_id" value="<?php echo $_POST['$member["mb_id"]']; ?>">
<td class="qa01-a01"> <input type="radio" name="mb_qa01" value="예"<?php echo ($member['mb_qa01'] == "예") ? " checked" : "";?> required > 예 <br><br><input type="radio" name="mb_qa01" value="아니오"<?php echo ($member['mb_qa01'] == "아니오") ? " checked" : "";?>> 아니오 </td>
<br>
<td class="qa01-a01"> <input type="radio" name="mb_qa02" value="예"<?php echo ($member['mb_qa02'] == "예") ? " checked" : "";?> required > 예 <br><br><input type="radio" name="mb_qa02" value="아니오"<?php echo ($member['mb_qa02'] == "아니오") ? " checked" : "";?>> 아니오 </td>
<br>
<td class="qa02-a01">원하는 단계는?</td>
<td class="qa02-a01"><select name="mb_qa03" required><option value="1">1 단계</option><option value="2">2 단계</option><option value="3">3 단계</option><option value="4">4 단계</option><?php echo ($member['mb_qa03']) ? " checked" : "";?></select></td>
<div class="btn_confirm">
<input type="submit" value="<?php echo $w==''?'완료':'완료'; ?>" id="btn_submit" class="btn_submit" accesskey="s">
</div>
qa_add_result.php 내용입니다.
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/register.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
include_once('/data/dbconfig.php');
$mb_qa01 = $_POST['mb_qa01'];
$mb_qa02 = $_POST['mb_qa02'];
$mb_qa03 = $_POST['mb_qa03'];
$mb_qa04 = $_POST['mb_qa04'];
$mb_qa05 = $_POST['mb_qa05'];
$mb_id = $_POST['mb_id'];
//===============================================================
$sql = "insert into g5_member_addinfo
(mb_id, mb_qa01, mb_qa02, mb_qa03, mb_qa04, mb_qa05)
value ('$mb_id', '$mb_qa01', '$mb_qa02', '$mb_qa03', '$mb_qa04', '$mb_qa05')";
sql_query($sql,true);
echo $sql;
if($result)
{
echo "<script>location.href='/bbs/qa_add_success.php'</script>";
} else {
echo "<script>location.href='/bbs/qa_add_success.php'</script>";
}
?>
이렇게 했습니다.
그리고,
/data/dbconfig.php 에는 이렇게 추가했구요.
$g5['member_addinfo_table'] = G5_TABLE_PREFIX.'member_addinfo'; // 회원 추가 정보 테이블
3가지 조언 부탁드립니다.
1. 파일 경로에 dbconfig.php 파일이 없거나 dbconfig.php 오픈 권한이 없는 에러라고 하는데 어떻게 하면 될까요?
그리고,
2.
<td class="qa02-a01">원하는 단계는?</td>
<td class="qa02-a01"><select name="mb_qa03" required><option value="1">1 단계</option><option value="2">2 단계</option><option value="3">3 단계</option><option value="4">4 단계</option><?php echo ($member['mb_qa03']) ? " checked" : "";?></select></td>
이 부분도 확인 부탁드립니다.
열심히 찾아봐서 만들었는데 오류가 생겼다 또 되었다 하는 것 같습니다.
3.
if($result)
{
echo "<script>location.href='/bbs/qa_add_success.php'</script>";
} else {
echo "<script>location.href='/bbs/qa_add_success.php'</script>";
}
?>
이 부분은 잘 모르겠어서 이렇게 했는데 제대로 할려면 어떻게 해야 할까요?
고수님들의 감사한 조언 부탁드립니다.
감사합니다.
!-->!-->!-->
답변 3
원하시는 답변이 될지는 모르겠지만 다음과 같이 수정해 볼 수 있을 것 같습니다.
qa_add.php
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/register.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
?>
<form id="fregisterform" name="fregisterform" action="/bbs/qa_update.php" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
<input type="hidden" name="mb_id" value="<?php echo htmlspecialchars($_POST['$member["mb_id"]'] ?? '', ENT_QUOTES); ?>">
<td class="qa01-a01">
<input type="radio" name="mb_qa01" value="예"<?php echo ($member['mb_qa01'] == "예") ? " checked" : ""; ?> required> 예<br><br>
<input type="radio" name="mb_qa01" value="아니오"<?php echo ($member['mb_qa01'] == "아니오") ? " checked" : ""; ?>> 아니오
</td>
<br>
<td class="qa01-a01">
<input type="radio" name="mb_qa02" value="예"<?php echo ($member['mb_qa02'] == "예") ? " checked" : ""; ?> required> 예<br><br>
<input type="radio" name="mb_qa02" value="아니오"<?php echo ($member['mb_qa02'] == "아니오") ? " checked" : ""; ?>> 아니오
</td>
<br>
<td class="qa02-a01">원하는 단계는?</td>
<td class="qa02-a01">
<select name="mb_qa03" required>
<option value="1"<?php echo ($member['mb_qa03'] == "1") ? " selected" : ""; ?>>1 단계</option>
<option value="2"<?php echo ($member['mb_qa03'] == "2") ? " selected" : ""; ?>>2 단계</option>
<option value="3"<?php echo ($member['mb_qa03'] == "3") ? " selected" : ""; ?>>3 단계</option>
<option value="4"<?php echo ($member['mb_qa03'] == "4") ? " selected" : ""; ?>>4 단계</option>
</select>
</td>
<div class="btn_confirm">
<input type="submit" value="<?php echo ($w == '') ? '완료' : '완료'; ?>" id="btn_submit" class="btn_submit" accesskey="s">
</div>
</form>
필요한 PHP 라이브러리 파일들을 include_once를 통해 포함시킴
$member['mb_qa01']과 $member['mb_qa02'] 변수를 사용하여 라디오 버튼의 상태를 확인하고, checked 속성을 추가
$member['mb_qa03'] 변수를 사용하여 <select> 요소의 기본 선택 옵션을 설정하기 위해 selected 속성을 추가
전송 버튼의 값을 <?php echo ($w == '') ? '완료' : '완료'; ?>로 설정하여, $w 변수에 따라 버튼의 라벨을 다르게 표시
qa_add_result.php
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/register.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
include_once(G5_LIB_PATH.'/thumbnail.lib.php');
$mb_qa01 = $_POST['mb_qa01'];
$mb_qa02 = $_POST['mb_qa02'];
$mb_qa03 = $_POST['mb_qa03'];
$mb_qa04 = $_POST['mb_qa04'];
$mb_qa05 = $_POST['mb_qa05'];
$mb_id = $_POST['mb_id'];
//===============================================================
$sql = "insert into g5_member_addinfo
(mb_id, mb_qa01, mb_qa02, mb_qa03, mb_qa04, mb_qa05)
values ('$mb_id', '$mb_qa01', '$mb_qa02', '$mb_qa03', '$mb_qa04', '$mb_qa05')";
$result = sql_query($sql, true);
if ($result) {
echo "<script>location.href='/bbs/qa_add_success.php'</script>";
} else {
echo "<script>alert('입력을 처리하는 동안 오류가 발생했습니다.');</script>";
// 필요에 따라 추가적인 오류 처리 로직을 구현하시면 됩니다.
}
?>
include_once('/data/dbconfig.php'); 부분은 제거
$result 변수가 $sql 쿼리의 실행 결과로 설정
if ($result) 블록에서는 성공적으로 쿼리가 실행되었을 때의 동작을 수행
else 블록에서는 오류 처리에 대한 메시지 출력과 추가적인 오류 처리 로직 구현
include_once('/data/dbconfig.php');
이 코드를 왜 넣으셨나요?
기본적으로
include_once('./_common.php');
을 하시면 자동으로 dbconfig.php를 불러옵니다.
Warning: include_once(/data/dbconfig.php): failed to open stream: No such file or directory in /www/alphastim.godohosting.com/bbs/qa_add_rusult.php on line 7
이건 경로를 잘못 넣으셔서 나오는 경로 입니다.
다른곳에서 넣으실꺼면
include_once(G5_DATA_PATH.'/dbconfig.php');
으로 하시면 됩니다.
!-->!-->!-->!-->
insert into g5_member_aaddinfo (mb_id, mb_qa01, mb_qa02, mb_qa03, mb_qa04, mb_qa05) values ('abc', '예', '아니오', '1', '', '')
1062 : Duplicate entry 'abc' for key 'mb_id'
error file : /bbs/qa_add_result.php
g5_member_aaddinfo 테이블에 동일한 값이 들어가서 중복 처리 되었다는 부분입니다.
중복으로 insert가 안되도록 처리해주시면 해결될꺼 같네요