햇병아리인데요.. PHP 공부좀 살짝 도와주실분 안계실까요? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

햇병아리인데요.. PHP 공부좀 살짝 도와주실분 안계실까요? 정보

햇병아리인데요.. PHP 공부좀 살짝 도와주실분 안계실까요?

본문

하아~ 한숨부터 나오는군요^^
소스를 보고 아..이건 뭘 하라는 것이군 하고 이해가 가는 분들이 한없이 우러러 보일뿐..
처음에는 공부삼아 시작한  소스 주무르기 였지만 공부란게 쉬운것도 아니고^^
한 2년 제쳐 두었었나...그러다가 최근에 다시 주물러 보기로 작정한...
아래 소스를 제가 짧은 이해력으로 해석하니 이렇게 되더란 말이죠
<?php
if($old_list[board_name])
{
echo "<input type=\"hidden\" name=\"board_name\" value=\"$old_list[board_name]\">";
}
else


저걸 간추려 보면
<?php
if($old_list[board_name])
{
echo "<"$old_list[board_name]\">";
}
else

이정도로 되겠죠..
저것에 대한 자체 해석은

if($old_list[board_name]) // $old_list 라는 변수에 입력된 board_name 이라는 값이 있느니라^^

echo  "<"$old_list[board_name]\">"; //그 내용을 화면에 출력하라

else = 아니면 다음 조건을 실행해라

하여..

{
실행과제 를 하나줌^^
}

일단 여기까지는 맞죠?
근데 왜 못 알아 듣고 아무것도 안하는것일까요?

실행과제로 다음과 같이 줬거든요.

{
echo "<tr><td nowrap align=\"right\">
<img src=\"board_skin/img2/write_name2.gif\" width=\"57\" height=\"22\" ></td>
<td nowrap>";
echo "<input type=\"text\" name=\"board_name\" class=\"text\" size=\"20\" maxlength=\"20\">";
echo "</td></tr>";
}

저게 익명 입력을 위한 칸을 만들어 출력하기 위한 소스거든요

대체 뭐가 빠져서 결과가 전~혀 안나오는 건지 ..
가르쳐 주시면 저의 감사는 물론이고 복 까지 덤으로 받으실겁니당^^
그럼 답변주신 분들께 미리 감사드립니다^^

아참 저걸 분석해 보려고 시도한 배경에 대한 설명이 필요하겠군요^^.
(아길님 분석내용을 보니 추가 설명이 필요하겠다는 생각이 들어서^^)

저게 게시물 내용 수정페이지 소스 일부거든요.

2차로 준 과제가 실행되면 좋겠다 싶어 넣어준건데(물론 엉터리 같은 주문이겠지만^^)
나오라는 박스는 안나오고.. 엉뚱한 짓만 하길래..
(원 게시물 이름까지 잘 불러오지만 글 올리기 버튼이 작동을 안해서요..)

실행희망 과제를 안 줄때는 버튼이 잘 작동하거든요.
처음에 잘 되던넘이 왜 갑자기 안되나 싶어서 찾아본 결과 저 추가된 소스 때문이더란 말이죠.
저거만 빼면 잘 되는데...
가만...확실치는 않지만 방금 깨달은 건데요..
2차 과제가 실행 안되는 것은 작성자 명단 값이 들어있기 때문에 안되는 것일수도 있을까요?
board_name 값이 있던지 말던지 2차 과제가 실행되도록 하려면 어떻게 해야하는지 가르쳐 주셨으면 합니다^^
  • 복사

댓글 전체

저는 간단하게 부터  원인을 분석해보곤 합니다
가령 이렇게요

<?

if($old_list[board_name])
 echo "결과는{$old_list[board_name]} 입니다";
else
 echo "board_name 이 없습니다";

?>
$aaa = "";

if($aaa)
echo "@";
else
echo "#";

echo "<br>";

$aaa = " ";

if($aaa)
echo "@@";
else
echo "##";

결과는 틀리게 나올수 있습니다.

if(isset($old_list[board_name])) 을 하시거나
if(trim($old_list[board_name]) != "") 을 해보시기 바랍니다.

------------------------------------------------------

아래는 공부에 도움되시라고 적어놓은 글입니다.

또한. $old_list[board_name] 값이 들어가지 않을경우.

$old_list[board_name] 변수가 선언되는지 확인후

선언이 되지 않을경우 if(isset($old_list[board_name])) 으로 하시는게 올바르고
선언이 될경우 if(trim($old_list[borad_name]) != "") 을 사용하시는게 올바릅니다.

또한 $old_list['board_name'] 처럼 싱글쿼테이션을 넣어주시는게 좋습니다.

그누보드는 저러한 사소한 에러를 표출않하도록 하였기
잘못알고 있습니다
if($old_list[board_name]) // $old_list 라는 변수에 입력된 board_name 이라는 값이 있느니라^^
가 아닙니다
$old_list[board_name] 이라는 변수에 무언지 모를 값이 있을 수 있느니라 입니다

코드처럼 board_name 값을 넘겨주어서 $old_list[board_name] 값을 가져오랴면
$old_list[$board_name] 이라고 해야합니다
© SIRSOFT
현재 페이지 제일 처음으로