/data/dbconfig.php 에러

/data/dbconfig.php 에러

QA

/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 블록에서는 오류 처리에 대한 메시지 출력과 추가적인 오류 처리 로직 구현

안녕하세요.
답변 너무 감사니다.

그런데,
말씀하신데로 했는데 이런 에러가 뜹니다.
어떻게 하면 될까요?



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

감사합니다.

다음과 같이 추가해 보시는 건 어떨까요?

qa_add_result.php


$mb_id = $_POST['mb_id'];

// 중복된 항목 제거
$sql_check = "SELECT mb_id FROM g5_member_addinfo WHERE mb_id = '$mb_id'";
$result_check = sql_query($sql_check);
if (sql_num_rows($result_check) > 0) {
    $mb_id = $mb_id . '_new';
}


중복된 항목이 제거되면, 다시 데이터를 입력할 수 있습니다. 'mb_id' 값을 변경한 경우, 'qa_add.php' 파일에서 해당 값을 변경해주어야 합니다.

안녕하세요.

답변 정말 감사드립니다.
그런데 추가 질문하나 드려도 될까요?



<td class="qa02-a01">원하는 단계는?</td>
<td class="qa02-a01">
    <select name="mb_qa03" required>
      <option value=""<?php echo ($member['mb_qa03'] == "") ? " selected" : ""; ?>>=선택=</option>
      <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>


이렇게 했을때
option value=""<?php echo ($member['mb_qa03'] == "") ? " selected" : ""; ?>>=선택=</option>
이 부분의 맨 위 값이 default 값으로 설정되어 "=선택=" 이 설정되는 것으로 알고 있는데 계속 "2단계"가 default 값으로 나오더라구요.
그러면 유저가 선택을 안하고 그냥 넘어가도 "2단계" 값이 선택되어 완료 버튼이 눌러지더라구요.

그래서

option value=""<?php echo ($member['mb_qa03'] == "") ? " selected" : ""; ?>selected>=선택=</option>

이렇게 해도 안되고

option value=""<?php echo ($member['mb_qa03'] == "") ? " selected" : ""; ?>selected disabled hidden>=선택=</option>

이렇게 해도 안되네요.

어떻게 하면 될까요?
조언 부탁드립니다.
감사합니다.

가능성이 높은 이유는 $member['mb_qa03']의 값이 항상 "2"로 설정되어 있거나 값이 비어있지 않기 때문인 것 같습니다. 다음과 같이 해볼 수 있을 것 같습니다.


<option value=""<?php echo ($member['mb_qa03'] == "") ? " selected" : ""; ?>>=선택=</option>
<option value="1"<?php echo ($member['mb_qa03'] == "1" || $member['mb_qa03'] == "") ? " 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>



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가 안되도록 처리해주시면 해결될꺼 같네요  

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT