티스토리 뷰

215페이지의 [예제 4-55]에서 10번줄의 $title 변수는 밑도끝도 없는 변수죠?
이는 위에서 정의된 $subject 변수를 사용하여야 합니다.

mail($to, $subject, $message, $header);

앞으로는 안놀래야지 ㅎㅎ
Comments
  • 프로필사진 Favicon of http://www.getoclover.com BlogIcon 게토 ### 아래는 brain.hanb.co.kr에 올린 질문을 복사한 것입니다. 빠른 답변을 받기 위해 여기로 복사한것입니다.

    이 책을 보다보면 책에 한번도 설명되지 않은 부분이 나와 정말 당황스럽게 합니다.
    그 부분이 공부하는데 상당히 지장을 주는군요.
    ------------------------------------------------------------
    172쪽 예제 4-18 4번째줄 : foreach라는 문법은 이 책에서 설명된적이 단 한 번도 없습니다. 무슨역할을 하는것인지요?
    --------------------------------------------------------------
    410쪽 예제 10-3 38번째줄 : <?=$row[name]?>에서 =은 갑자기 왜 나온것인가요?
    또한 이런 방식으로 실행하면 $row[name]과 같은, 그 안에 들어있는 값은 나오지 않고 브라우저에 Array라고만 출력됩니다.

    예를들어....
    <!-- //여기서 주석은 혹시나 html태그가 적용되어버릴까봐 댓글에서만 적은것입니다.
    <html>
    <head>
    <title>main-ing</title>
    </head>
    <body>

    <?
    //Connect database and Submit query and Print team-name-list
    $conn = mysql_connect("localhost", "*****", "*******";) or die("Can't connect database";);
    mysql_select_db("******",$conn);
    mysql_query("set names euckr";);
    $query="SELECT * FROM war7_team";
    $result=mysql_query($query,$conn);
    echo "ID count : ".mysql_num_rows($result)."<br/>";
    while( $row=mysql_fetch_assoc($result) ){
    echo $row['id'];
    echo "<br>";
    }
    ?>

    </body>
    </html>
    -->

    에서 $row[id]라고 사용하게 된다면 Array라고만 출력됩니다.
    그러나 위와같이 $row['id']로 하면 제대로 원하는 값이 출력되는군요.
    원인이 무엇인가요? 책의 오류인가요? 아니면 php버전 차이 때문인가요?

    아 또하나, 저 소스코드를 실행하게 되면 공백이 쭉 생기고 나서야 원하는 값이 나오게 되는군요. 방지하려면 어떻게 해야할까요?(적용페이지 : http://getoclover.com/war7/main.php)
    (참고 - 해당 서버의 phpinfo : http://getoclover.com/phpinfo.php)
    이 소스코드에서 while문을 이용해야한다는 사실을 몰라서 1주동안 고생하다가 지인에게 물어보고서야 알게되었군요..
    이런 중요한 내용도 빠져있어서 실망이 컸습니다.
    -----------------------------------------------------------------
    414쪽 예제 10-4 20번째줄 : @mysql_query~~~~~~~~~~~ 에서 @을 앞에 왜 붙이며 무슨기능인지 전혀 설명이 안되어 있군요. 이런 부분들이 책들에 너무 많군요. 마치 저자분께서는 아시니깐 독자들도 당연히 아는 듯이 설명하시는군요.....

    길었습니다만, 잔소리가 아닌 충고로 받아주시고, 성실한 답변 부탁드립니다.
    2010.07.11 19:35
  • 프로필사진 Favicon of https://brown.ezphp.net BlogIcon 행복한브라운 1번째 foreach는 배열 내의 내용을 쉽게 접근하기 위해서 사용하는 제어 구조입니다.
    for문이나 while문과 같이 루프이며 괄호 안의 배열의 값을 key와 value로 구분하여 한개씩 접근할 수 있도록 해줍니다.
    즉, 4-17 예제의 경우 파일 내의 내용을 file 함수를 통해서 배열로 가져오고
    foreach를 통해서 한개씩 배열의 요소에 접근합니다. 파일에서 불러온 값은 키값이 지정되지않았기때문에 기본적으로 키는 0부터 시작하는 숫자가 되고 value는 파일의 한 라인이 됩니다.

    두번째 <?=$row[name]?> 는 <? echo $row[name] ?>를 줄여쓴것입니다.

    세번째 $row[id]의 경우 $row['id']와 같이 쓰는 것이 정확한 문법입니다. 그러나 $row[id]와 같이 사용해도 되고요. 단 id 라는 이름으로 define된 상수가 있다면 사용할 수 없습니다.

    네번째는 아마 테이블에 빈값인 레코드가 많이 있어서 그렇습니다. 링크를 들어가보니 총 65개 레코드가 있는데 실제 출력되는 건 tester1,2 두개 밖에 없군요. 나머지 63개는 모두 빈레코드여서 빈값이 출력된 것입니다. 빈 레코드를 모두 삭제하시면 원하는대로 출력될 것입니다.

    마지막 @는 에러를 무시하라는 기호입니다.

    추신. 너무 오랜기간 작성해왔고 여러차례 본문의 내용을 정리하다보니 이미 설명했다고 생각한 것이
    알고보니 설명이 전혀 안되어 있는 경우가 종종있습니다.
    여러분들이 모두 알고 있을것으로 생각했다기 보단 제가 설명했다고 생각하고 중복 설명을 피하려다가 생긴 문제입니다. (사실 위의 질문 모두 설명한것으로 생각했는데 책을 한번 다시 뒤져봐야겠습니다.)
    죄송합니다.
    이런 모르는 내용이 있으시면 계속 고민만 하지 마시고 바로 질문해주세요.
    2010.07.12 02:01 신고
  • 프로필사진 Favicon of https://brown.ezphp.net BlogIcon 행복한브라운 아 그리고 while문에 대해 말씀하셨는데 책에도 언급했지만 방명록 부분은 옛날 PHP스쿨에서 사용하던 소스로 지금은 좋은 방법이 아닙니다.
    게시판의 방법을 이용하세요. 게시판 부분까지 공부하시면 while 을 당연히 쓰셨을 겁니다.
    2010.07.12 02:03 신고
댓글쓰기 폼