추천/비추천 good.php의 $good의 변수 선언은 언제 어디서?
같은 내용을 이전에 여러번 질문을 올렸는데 제가 기초 개념이 약해서 표현을 잘못하는 바람에 답변들이 조금씩 비껴갔네요.
게시판 뷰페이지에서 '추천' 또는 '비추천' 박스를 클릭하면 해당 값 'good' 또는 'nogood'이 $good에 대입되는 것 같은데요, $good이 이전에 선언되지도 않았는데 어떻게 거기에 값이 대입이 되느냐는 것입니다.
보통 db의 테이블과 그 필드명들이 배열로 php로 오면서 필드명들이 변수화 하는 과정이 있고, html의 input나 select에 name과 value있으면서 name이 변수화 하는 건 보았습니다.
그런데 $good의 경우는 db(g4_config, g4_board, g4_write_[테이블], g4_board_good,)의 어느 곳에도 두 값(good/nogood)을 가질수 있는 'good'이라는 필드명으로도 없고 (bg_flag로는 있는데 여기는 이 후에 그 값을 받는 곳임), 'good'의 name으로도 없고, 아니면 임시 변수로 선언한 데도 안 보입니다.
요는 다른 화일 어느 곳에 정의되어 있는 것을 제가 찾지 못해서 인지, 아니면 저의 변수에 대한 개념이 잘못된 것인지요. 만약에 $good을 다른 이름, 가령 $hood, $god로 고쳐 넣으면 에러가 납니까? (이거 끝내고 직접 해보자)
게시판 뷰페이지에서 '추천' 또는 '비추천' 박스를 클릭하면 해당 값 'good' 또는 'nogood'이 $good에 대입되는 것 같은데요, $good이 이전에 선언되지도 않았는데 어떻게 거기에 값이 대입이 되느냐는 것입니다.
보통 db의 테이블과 그 필드명들이 배열로 php로 오면서 필드명들이 변수화 하는 과정이 있고, html의 input나 select에 name과 value있으면서 name이 변수화 하는 건 보았습니다.
그런데 $good의 경우는 db(g4_config, g4_board, g4_write_[테이블], g4_board_good,)의 어느 곳에도 두 값(good/nogood)을 가질수 있는 'good'이라는 필드명으로도 없고 (bg_flag로는 있는데 여기는 이 후에 그 값을 받는 곳임), 'good'의 name으로도 없고, 아니면 임시 변수로 선언한 데도 안 보입니다.
요는 다른 화일 어느 곳에 정의되어 있는 것을 제가 찾지 못해서 인지, 아니면 저의 변수에 대한 개념이 잘못된 것인지요. 만약에 $good을 다른 이름, 가령 $hood, $god로 고쳐 넣으면 에러가 납니까? (이거 끝내고 직접 해보자)
댓글 11개
13년 전
$good값이 'good', 'nogood'으로 넘어와서 g4_board_good 테이블에 게시판 필드값과 게시판 게시물값으로 bg_flag에 값이 good, 또는 nogood 이라는 이름으로 저장되어 나중에 갯수로 불러오는것입니다.
13년 전
위 답변이 조그 빗나가셨는데 가령 good.php내의 변수 $good을 $hood로 모두 바꿔 놓고 실행하면 안되는데 $good로 해 놔야만 실행되는 그 이유를 묻는 것입니다.
다시 말하면 'good'이나 'nogood'값이 어떻게 해서 $good라는 이름의 변수에만 들어 가느냐 하는 것입니다. 임의 변수명 $hood에는 안 들어 가면서요.
그것은 gnuboard내 화일 어딘가에 $good을 미리 정의해 놓은 것이 있다는 게 아닐까요?
다시 말하면 'good'이나 'nogood'값이 어떻게 해서 $good라는 이름의 변수에만 들어 가느냐 하는 것입니다. 임의 변수명 $hood에는 안 들어 가면서요.
그것은 gnuboard내 화일 어딘가에 $good을 미리 정의해 놓은 것이 있다는 게 아닐까요?
13년 전
추천 비추천 클릭을 할때 good라는 변수로 값을 넘겨주기때문에 다른변수를 쓰면 안되는겁니다. 나머지는 프리자인님 댓글 내용대로입니다.
13년 전
추천 비추천 (good) 버튼을 그대로 쓰는 것이 아니라, 이것은 그대로 두고 옆에 투표 테이블 (vote)을 따로 만들었을 경우 입니다. 추천/비추천은 만들어진 과정을 응용만 했습니다.
13년 전
무얼하려는지 이전 질문을 보니 5개의 투표항목을 선택하면 선택된 항목을 저장하게 하려는 것이 목적이군요
항목이 2개가 아닌 5개나 되기 때문에 추천/비추천 벙법으로 하는 것이 아닙니다
<form name='votefrm' action='vote.php' method='post'>
<input type='radio' name='vote' value='1'>아주잘함
<input type='radio' name='vote' value='2'>잘함
<input type='radio' name='vote' value='3'>보통
<input type='radio' name='vote' value='4'>못함
<input type='radio' name='vote' value='5'>아주못함
</form>
이런 형식으로 만들면 vote.php에서 전송 받는 값은
$myselect= $_POST[vote]; 가 됩니다. 이 값으로 처리하면 됩니다
항목이 2개가 아닌 5개나 되기 때문에 추천/비추천 벙법으로 하는 것이 아닙니다
<form name='votefrm' action='vote.php' method='post'>
<input type='radio' name='vote' value='1'>아주잘함
<input type='radio' name='vote' value='2'>잘함
<input type='radio' name='vote' value='3'>보통
<input type='radio' name='vote' value='4'>못함
<input type='radio' name='vote' value='5'>아주못함
</form>
이런 형식으로 만들면 vote.php에서 전송 받는 값은
$myselect= $_POST[vote]; 가 됩니다. 이 값으로 처리하면 됩니다
13년 전
감사합니다. 구현만이 목적이라면 위 방법이 더 간단하군요.
그런데 지금은 개념 정립을 위해 이 문제를 제기한 것이니까 그 쪽으로 더 파겠습니다.
선택항목이 2개라서 되고 5개이기 때문에 안된다는 것에는 얼른 수긍이 안가네요.
그렇다면 추천/비추천에 한가지 더 중립이라는 항목을 추가하여 선택을 3가지로 한다면 안될까요? 물론 환경설정부터 시작해서, 게시판환경 설정, db필드 삽입등 복잡한 여러 과정에 모두 완벽히 update한다는 가정에서요
그런데 지금은 개념 정립을 위해 이 문제를 제기한 것이니까 그 쪽으로 더 파겠습니다.
선택항목이 2개라서 되고 5개이기 때문에 안된다는 것에는 얼른 수긍이 안가네요.
그렇다면 추천/비추천에 한가지 더 중립이라는 항목을 추가하여 선택을 3가지로 한다면 안될까요? 물론 환경설정부터 시작해서, 게시판환경 설정, db필드 삽입등 복잡한 여러 과정에 모두 완벽히 update한다는 가정에서요
13년 전
추천/비추천 처럼 만들었는데 안된다면 그 코드를 봐야 무엇이 문제인지 알 수 있겠습니다만
개념 정립을 위해서라니까 설명을 덧붙여 보겟습니다
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=good'>잘함</a>
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=nogood'>못함</a>
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=ggg'>보통</a>
추천/비추천은 이런 형태로 값을 넘겨줍니다
보시다시피 링크를 일일이 만들어 주어야 하기때문에 항목이 많은 경우에는 안된다는 것이 아니라 위 처럼 form으로 값을 넘기는 것이 편리하다는 겁니다
vote.php에서 echo $_GET[good]; 하면 클릭한 부분의 값이 출력 됩니다
아직도 이해가 안되나요?
개념 정립을 위해서라니까 설명을 덧붙여 보겟습니다
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=good'>잘함</a>
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=nogood'>못함</a>
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=ggg'>보통</a>
추천/비추천은 이런 형태로 값을 넘겨줍니다
보시다시피 링크를 일일이 만들어 주어야 하기때문에 항목이 많은 경우에는 안된다는 것이 아니라 위 처럼 form으로 값을 넘기는 것이 편리하다는 겁니다
vote.php에서 echo $_GET[good]; 하면 클릭한 부분의 값이 출력 됩니다
아직도 이해가 안되나요?
13년 전
결국 저의 변수에 대한 기초 지식 부족에다 코드 작성 에러로 결론이 나는 군요.
코드 작성 부분을 직접 올려 보겠습니다.
코드 작성 부분을 직접 올려 보겠습니다.
13년 전
제 문제는
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=ggg'>보통</a>에서 &good=ggg가 아니라 &vote=ggg가 안되는 것이므로 왜 &good=는 되고 &vote=는 안되느냐가 질문의 핵심 포인트입니다.
예를 들어 정부에서 서민 복지용으로 무상 양곡표를 준다합시다. good.php 집의 $good는 그 대상자로 등록되어 있어서 인지 ($_GET[good]가 먹힘) 설사 집이사를 good.php에서 vote.php로 이사해도 여전히 표를 받습니다. 그런데 새 집 짓고 이사 온 vote.php 집의 $vote는 어떻게 하면 표를 받을 수 있느냐하는 것이지요.
설명이 난해하니까 따로 질문을 올린 곳에서 코드를 잘 봐 주시기를 부탁드립니다.
<a href='<?=$g4[bbs_path]?>/vote.php?bo_table=<?=$bo_table?>&wr_id=<?=$wr_id?>&good=ggg'>보통</a>에서 &good=ggg가 아니라 &vote=ggg가 안되는 것이므로 왜 &good=는 되고 &vote=는 안되느냐가 질문의 핵심 포인트입니다.
예를 들어 정부에서 서민 복지용으로 무상 양곡표를 준다합시다. good.php 집의 $good는 그 대상자로 등록되어 있어서 인지 ($_GET[good]가 먹힘) 설사 집이사를 good.php에서 vote.php로 이사해도 여전히 표를 받습니다. 그런데 새 집 짓고 이사 온 vote.php 집의 $vote는 어떻게 하면 표를 받을 수 있느냐하는 것이지요.
설명이 난해하니까 따로 질문을 올린 곳에서 코드를 잘 봐 주시기를 부탁드립니다.
13년 전
미리 정의가 되어 있어도 다시 값을 정의하면 나중에 만든 정의값으로 처리가 됩니다.
말그대료 $good갑을 $hood으로 정상적으로 모두 바꾸었다면 처리되야 맞는것입니다.
오류 메세지가 없으니 뭐라 말씀들 못드리겠습니다.
어디서 나는지 알려주시면 답변드리겠습니다.
말그대료 $good갑을 $hood으로 정상적으로 모두 바꾸었다면 처리되야 맞는것입니다.
오류 메세지가 없으니 뭐라 말씀들 못드리겠습니다.
어디서 나는지 알려주시면 답변드리겠습니다.
13년 전
$hood로 정상적으로 모두 바꾼다는 의미가 good.php안의 $good만이 아니고 전과정 (환경설정, db 필드 추가, 관련 php 화일 update등)을 고친다는 뜻으로 이해하겠습니다.
그런데 바로 그렇게 했는데도 안되는 현상이 생겼습니다. 즉 위 '균이'님이 알아 내신 것처럼 5개 투표 항목을 만들기 위해 vote.php 를 만들고 또한 전과정을 good과 똑같이 해 보았습니다. 그런데 투표 테이블에서는 답변 선택 클릭시 vote.php로 값을 넘겨 주지 않습니다.
(에러 메세지나 경고창도 안뜨고 $sql도 실행이 안됨). 그래서 잘 되는 변수 $good의 되는 이유를 밝히려 했던 것입니다.
결국은 전과정을 다시 훑어 보고 오타나 문법에러등을 다시 체크해야 겠네요.
전 과정 중 어느 한 곳에서 에러가 났던가, 저의 변수에 대한 기초 지식 부족때문으로 보이네요.
그런데 바로 그렇게 했는데도 안되는 현상이 생겼습니다. 즉 위 '균이'님이 알아 내신 것처럼 5개 투표 항목을 만들기 위해 vote.php 를 만들고 또한 전과정을 good과 똑같이 해 보았습니다. 그런데 투표 테이블에서는 답변 선택 클릭시 vote.php로 값을 넘겨 주지 않습니다.
(에러 메세지나 경고창도 안뜨고 $sql도 실행이 안됨). 그래서 잘 되는 변수 $good의 되는 이유를 밝히려 했던 것입니다.
결국은 전과정을 다시 훑어 보고 오타나 문법에러등을 다시 체크해야 겠네요.
전 과정 중 어느 한 곳에서 에러가 났던가, 저의 변수에 대한 기초 지식 부족때문으로 보이네요.
게시글 목록
| 번호 | 제목 |
|---|---|
| 284113 | |
| 284104 | |
| 284099 | |
| 284097 | |
| 284096 | |
| 284092 | |
| 284090 | |
| 284085 | |
| 284084 | |
| 284080 | |
| 284077 | |
| 284073 | |
| 284070 | |
| 284061 | |
| 284058 | |
| 284056 | |
| 284050 | |
| 284048 | |
| 284047 | |
| 284046 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기