웹 애플리케이션 만들기

부록 : 복습

지금까지 공부한 내용을 총정리하는 내용입니다. 전체 수업을 복습하는 것 보다는 압축된 본 수업을 반복학습하실 것을 권합니다.  부록 : 복습2에서는 본 내용을 다시 압축해서 20분 동안 정리한 내용이 있습니다. 적당한 수준을 선택하셔서 경제적으로 복습을 하셨으면 좋겠습니다.  

 

 

 

 

 

 

  

본 수업의 예제 파일은 아래의 github를 참고해주세요.

 https://github.com/codingeverybody/makewebapp/tree/master/practice1

댓글

댓글 본문
작성자
비밀번호
  1. Hee-Jong Yoo
    복습이 엄청 길군요. 그래도 복습하는 과정에서 앞 과정에서 모르고 건넌 부분을 알 수 있었습니다.
    감사해요.
  2. 김민성
    복습까지 챙겨수시다니 너무 고생하샸어요
    감사합니다
  3. suhyun
    복습까지시켜주시는 강의는 처음보는거같아요 감사합니다~^^
    전부다본후에 뭘해야되나요?
  4. 답변
    '.$row['title'].' 이게아니라 => '문자열' .$row['title'].'문자열'
    이렇게 연결된겁니당 !! $row앞에 ' . ' 이 문자열을 합쳐주는 역할을합니다.
    대화보기
    • topic테이블 만들때 id 길이/값을 10으로주는이유가뭔가요?
    • echo '<a href="index.php?id='.$row['id'].'">'.$row['title'].'</a><br>';
      이부분에서 '.$row['title'].' 왜 ''이걸로 감싸는지 알수있을까요?
      문자열로 입력해야된다면 .'$row['title']'. 이게 맞지않은건가요? 이해력이딸려서 ㅠㅠ
    • Seo Yun Seok Tudoistube
      이고잉님의 목소리는 선천적인거여서 포기해야 하지만, 강의 중 느껴지는 재치있는 감각은
      어디서 나오는지 배우고 싶네요. 감사합니다^_____^
    • 우탄
      phpmyadmin의 오픈튜토리얼스2의 토픽테이블에서 SELECT * FROM `topic` 까지는 잘 나오지만
      php 코드 보기를 누르면

      $sql = '
      \n"

      . "$sql = \'SELECT * FROM `topic`"';
      이런 php코드가 나옵니다..
      그리고 php 코드 없이 보기를 누르면 오류:토큰 불일치 라고 나오네요ㅠㅠ
      구글링결과 토큰 불일치는 주석제거하고 경로설정을 다시 하라는데... 무슨 말인지 모르겠습니다..
      참고로 윈도우7 사용중입니다.


      topic, user 테이블의 코드는 이렇습니다
      CREATE TABLE `opentutorials2`.`topic` ( `id` INT(10) NOT NULL AUTO_INCREMENT , `title` VARCHAR(100) NOT NULL , `description` TEXT NULL , `author` INT NOT NULL , `created` DATETIME NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;

      CREATE TABLE `opentutorials2`.`user` ( `id` INT(10) NOT NULL AUTO_INCREMENT , `name` VARCHAR(20) NOT NULL , `password` VARCHAR(30) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;
    • 헬리사우드
      MySQL이 실행이 안돼네요.
      제가 올린 로그가 도움이 안돼는로그같아서 새로 올립니다.
      최근 MySQL로그입니다.
      쓸모있는부분부터 올립니다.
      2017-04-30T13:09:35.100723Z 0 [Note] C:\Bitnami\wampstack-7.0.13-1\mysql\bin\mysqld.exe (mysqld 5.7.16) starting as process 3484 ...
      2017-04-30T13:09:35.116734Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
      2017-04-30T13:09:35.117734Z 0 [Note] InnoDB: Uses event mutexes
      2017-04-30T13:09:35.118735Z 0 [Note] InnoDB: _mm_lfence() and _mm_sfence() are used for memory barrier
      2017-04-30T13:09:35.118735Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
      2017-04-30T13:09:35.119736Z 0 [Note] InnoDB: Number of pools: 1
      2017-04-30T13:09:35.120737Z 0 [Note] InnoDB: Not using CPU crc32 instructions
      2017-04-30T13:09:35.124739Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
      2017-04-30T13:09:35.133746Z 0 [Note] InnoDB: Completed initialization of buffer pool
      2017-04-30T13:09:35.150758Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
      2017-04-30T13:09:35.151759Z 0 [ERROR] InnoDB: The innodb_system data file 'ibdata1' must be writable
      2017-04-30T13:09:35.151759Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
      2017-04-30T13:09:35.455995Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
      2017-04-30T13:09:35.458977Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
      2017-04-30T13:09:35.462993Z 0 [ERROR] Failed to initialize plugins.
      2017-04-30T13:09:35.465997Z 0 [ERROR] Aborting

      2017-04-30T13:09:35.466983Z 0 [Note] Binlog end
      2017-04-30T13:09:35.468984Z 0 [Note] Shutting down plugin 'CSV'
      2017-04-30T13:09:35.471987Z 0 [Note] C:\Bitnami\wampstack-7.0.13-1\mysql\bin\mysqld.exe: Shutdown complete
      InnoDB가 뭔지 모르겠고 무슨 ibdata1이라는 파일이 읽혀야 한다는데 어떻게좀 해결해 주실수 있으신분 없나요?
    • 노마드
      좋은 강의 감사합니다. 강의는 예전에 봤었는데, 실습은 처음해보네요. 아래분 passward 필드 관련해서는, 저는 강의대로 NULL 값인 상태로 문제없이 들어가는것 같네요. 필드속성도 NULL에 "아니요"로 되어있구요. (이게 NOT NULL 이랑 같은말이죠?) 저는 topic 테이블에 레코드가 추가가 안되서 봤더니, 제가 SQL문에 오타를 냈었더라구요. SQL문은 브라우저에서 오류메세지가 안떠서, 찾는데 한참 걸렸네요. 암튼 이결과물로 제가 구현해보고 싶은 웹페이지로 한번 만들어 봐야겠네요. 간단진 않을것 같지만요.
    • publicum
      저도 말씀하신 것 같은 현상이 있어서 원인을 좀 생각해봤는데요.

      근본적 원인은 처음 DB에 Table을 만들 때, password항목의 속성을 NOT NULL로 지정한 데 있었습니다.
      본 강의에서는 sql문에 이 부분이 직접 명시해서 테이블을 만들었었고, phpMyadmin을 이용해서 테이블을 만든 부록 강의에서는 NOT NULL이 프로그램의 기본값으로 설정되어있었어요.

      따라서 기존의 사용자가 없을 때 실행되도록 되어있는 "INSERT INTO user (id, name) VALUES(NULL, '{$author}');" -라는 sql문은 password를 정의하지 않고 다른 사항만 입력하라는 명령이기에 제대로 작동하지 않습니다. phpMyadmin에서 직접 sql을 입력하면 오류가 나는 걸 확인하실 수 있어요.

      그렇게 되면 그 아래 정의된 $user_id = mysqli_insert_id($conn)라는 변수의 값이 Auto Increment에 의한 새로운 id값이 아니라 단순히 NULL=0의 값을 가지게 되는 것 같습니다. 이 부분 역시 var_dump($user_id)로 직접 확인해볼 수 있죠.
      (사실 애초에 INSERT 구문에 오류가 생겼는데, 그 아래 mysqli_insert_id함수가 직전의 '성공적'이었던 입력항의 id가 아니라 실패한 명령의 값인 NULL을 가져온다는 점은 여전히 이해가 안되고, 흥미롭기도 합니다)

      IF 명령의 결과가 $user_id = 'NULL'이기 때문에, 그 다음에 오는 sql문, 즉
      $sql = "INSERT INTO `topic` (`title`, `description`, `author`, `created`) VALUES ('{$title}', '{$description}', '{$user_id}', now())"; -에서 topic의 다른 항목들은 입력값 그대로 전송되어서 등록되지만 user_id는 0으로 처리되죠.
      등록된 새 게시물을 클릭했을 때 author 이름이 출력되야하는 부분이 그냥 비어있고, topic 테이블의 해당 항목에 author항이 0으로 되어있는 것도 이 때문입니다.

      결과적으로 웹퍼님이나 HEE님이 하신 것 처럼 처음 sql문에 password를 ' '라는 임의의 blank로 입력해주던가, 아니면 아예 user table의 password항목이 NULL의 값을 가질 수 있도록 속성을 바꾸어줘야하는 것으로 보입니다.

      저도 강의를 이제 막 다 들은 입장이라 설명에 오류가 있을 수 있을텐데, 조금이나마 힌트가 된다면 좋겠습니다.
      그나저나 egoing님 말씀대로 각 단계별로 출력값을 확인하면서 뭐가 잘 못 되었는지 체크하는게 참 좋은 습관이란 걸 새삼 느꼈습니다.
      대화보기
      • publicum
        맥 환경에서 복습 영상을 따라가고 있는데요. phpmyadmin에 접속할 때 root 아이디와 mySQL 접속시의 비밀번호를 사용해도 접속이 되질 않더라고요.
        [에러 메시지: mysqli_real_connect(): (HY000/2002): No such file or directory]

        인터넷을 뒤져보니 phpadmin의 config.inc.php 속에서 $cfg['Servers'][$i]['host'] 값을 localhost에서 127.0.0.1로 바꾸어 쓰면 된다는 이야기가 있어서적용해보았더니 로그인이 잘 되긴합니다.

        근데 애초에 왜 접속이 안된 것이고 또 저런 변경이 무슨 의미인 걸까요?;;
      • 웹퍼
        하 저도 이것땜에 한시간동안 헤맸네요 뭐 틀린게적은거 있나 확인한다고 ..

        분명 똑같이했는데 유저가 추가가안돼서

        님말처럼

        $sql="INSERT INTO user (id, name,password) VALUES(NULL, '{$author}',' ');"; 이렇게하니 되네요

        뭐가문제인거죠? 왜 강의는 이렇게 안해도되는걸까요 ㅠ
        대화보기
        • 8장 마지막에 보면 user 테이블에 $sql="INSERT INTO user (id, name) VALUES(NULL, '{$author}');"; 데이터 삽입할때 password를 추가해주지않으면 데이터 등록이 되지않아
          $sql="INSERT INTO user (id, name,password) VALUES(NULL, '{$author}',' ');"; 로 수정하니 되는데 뭐 때문에 이렇게 되는지 알고 싶습니다`~
        • 드디어 이곳까지 왔습니다 ^^ 정말 감사합니다.

          이번 강의를 몇번 반복해보고, 간단하게나마 웹사이트를 만들어보면서
          실전에 부딪혀보려고 합니다!

          어느정도 만들어지면, 말씀드릴게요 감사합니다!
        • ms124125
          고맙습니다.
          덕분에 해결이 돼었습니다.
          댁의 관심에 많은 진심으로 감사합니다.
          대화보기
          • 중간자
            해결 됐습니다.
            관심을 가져 주셔서 고맙습니다.
            대화보기
            • 중간자
              해결이 됐습니다.
              고맙습니다.
              대화보기
              • 중간자
                생활코딩에서 데이타베이스의 topic과 user의 정보를 복사, 붙여넣기를 해서 정보를 읽어 오려하는 데,
                브라우저 실행 시 html과 css의 코드는 인식을 해서 브라우저에 표현을 하는 데, 데이타베이스의 자료는 읽어 오지를
                못합니다. 무엇이 잘못된 것일까요?

                데이타베이스의 정보를 생활코딩에서 복사, 붙여넣기를 한 이후로 이러한 문제가 발생하는 것 같기도 한데
                어떤 이유일까요?

                고견을 부탁드립니다.
              • 중간자
                부록: 복습 2번째 동영상에서 opentutorials2 정보 불러오기 코드에서 실행 시
                코드 밑에 적혀있는 에러가 발생합니다.
                고견을 부탁드립니다.

                <?php
                $conn = mysqli_connect('localhost', 'root', '111111');
                mysqli_select_db($conn, 'opentutorials2');
                $sql = "SELECT * FROM `topic`";
                $result = mysqli_query($conn, $sql);
                while($row = mysqli_fetch_assoc($result)){
                echo print($sql)
                }
                ?>

                error:
                localhost 페이지가 작동하지 않음
                현재 localhost에서 요청을 처리할 수 없습니다.
                HTTP ERROR 500
              • 중간자
                제가 작성한 index.php 코드입니다.
                고견 부탁드립니다. $result에 값이 없다고 나오는 것 같습니다.

                <?php
                require("config/config.php");
                require("lib/db.php");
                $conn = db_init($config["host"], $config["duser"], $config["dpw"], $config["dname"]);
                $result = mysqli_query($conn, "SELECT * FROM topic");
                ?>
                <!DOCTYPE html>
                <html>
                <head>
                <meta charset="utf-8">
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                <meta name="viewport" content="width=device-width, initial-scale=1">
                <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
                <link rel="stylesheet" type="text/css" href="http://localhost/style.css">

                <link href="http://localhost/bootstrap-3.3.4-dist/css/bootstrap.min.css" rel="stylesheet">
                </head>
                <body id="target">
                <div class="container">

                <header class="jumbotron text-center">
                <img src="https://s3.ap-northeast-2.amazonaws.com/opentutorials-user-file/course/94.png" alt="생활코딩" class="img-circle" id="logo">
                <h1><a href="http://localhost/index.php">Javascript</a></h1>
                </header>
                <div class="row">

                <nav class="col-md-3">
                <ol class="nav nav-pills nav-stacked">
                <?php
                while($row = mysqli_fetch_assoc($result)){
                echo '<li><a href="http://localhost/index.php?id='.$row['id'].'">'.htmlspecialchars($row['title']).'</a></li>'."\n";
                }
                ?>
                </ol>
                </nav>
                <div class="col-md-9">

                <article>
                <?php
                if(empty($_GET['id']) === false ) {
                $sql = "SELECT topic.id,title,name,description FROM topic LEFT JOIN user ON topic.author = user.id WHERE topic.id=".$_GET['id'];
                $result = mysqli_query($conn, $sql);
                $row = mysqli_fetch_assoc($result);
                echo '<h2>'.htmlspecialchars($row['title']).'</h2>';
                echo '<p>'.htmlspecialchars($row['name']).'</p>';
                echo strip_tags($row['description'], '<a><h1><h2><h3><h4><h5><ul><ol><li>');
                }
                ?>
                </article>
                <hr>
                <div id="control">
                <div class="btn-group" role="group" aria-label="...">
                <input type="button" value="white" onclick="document.getElementById('target').className='white'" class="btn btn-default btn-lg"/>
                <input type="button" value="black" onclick="document.getElementById('target').className='black'" class="btn btn-default btn-lg"/>
                </div>
                <a href="http://localhost/write.php" class="btn btn-primary btn-lg">쓰기</a>
                </div>
                </div>
                </div>
                </div>

                <!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
                <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
                <!-- Include all compiled plugins (below), or include individual files as needed -->
                <script src="http://localhost/bootstrap-3.3.4-dist/js/bootstrap.min.js"></script>

                <!--Start of Tawk.to Script-->
                <script type="text/javascript">
                var Tawk_API=Tawk_API||{}, Tawk_LoadStart=new Date();
                (function(){
                var s1=document.createElement("script"),s0=document.getElementsByTagName("script")[0];
                s1.async=true;
                s1.src='https://embed.tawk.to/5861e79d6343131686652048/default';
                s1.charset='UTF-8';
                s1.setAttribute('crossorigin','*');
                s0.parentNode.insertBefore(s1,s0);
                })();
                </script>
                <!--End of Tawk.to Script-->

                </body>
                </html>
                대화보기
                • egoing
                  정확한 상황은 파악이 안됩니다만 print($sql);이라는 코드를 실행해보시면 최종적으로 어떤 sql이 생성되는지 파악할 수 있을꺼예요. 그걸 보시면 문제를 파악하는데 도움이 될 것 같습니다~
                  대화보기
                  • 문돌이
                    코드를 올려주시면 틀린 부분을 찾아드릴 수 있을 것 같습니다.
                    그리고 저 error 같은 경우 mysqli_fetch_assoc( )
                    ()내용이 없어서 그런 것 같습니다.
                    위에 어떤 부분이 잘못되서, 가져올게(fetch) 없어서 그런 error 알림이 온거같네요.
                    대화보기
                    • 중간자
                      다음과 같은 error가 납니다.
                      아시는 분 알려주시면 고맙겠습니다.

                      PHP Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in C:\\Bitnami\\wampstack-5.5.38-0\\apache2\\htdocs\\practic1\\index.php on line 8
                    • 문돌이
                      $sql = "INSERT INTO
                      `topic`
                      (`id`,`title`,`description`,`author`,`created`)
                      VALUES (NULL, '{$title}', '{$description}', '{$user_id}', now());";

                      이 부분에서 마지막 now(); 이 ;을 해도 되고 안해도 된다고 하셨는데,

                      ;을 빼고 적었더니 다른 부분은 모두 되는데 description 부분이 반영이 안되네요.

                      이상하게 이 하나만 안되서 뭐가 문제인지 모르겠습니다.

                      채워 넣으니 일단 되었는데, 이상하게 user.id 입력하는 부분에서는 ; 이 없어도 잘 되네요.

                      $sql="INSERT INTO user (id, name) VALUES(NULL, '{$author}');";

                      원래 이런건가요..??
                    • 라안트
                      Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\Bitnami\wampstack-5.6.25-0\apache2\htdocs\practice1\index.php on line 6
                      이런 메세지가 뜨는데 어떻게 처리해야 할까요?
                    • Keonwoo Kim
                      ㅇㄹ
                    • okyul25@gmail.com
                      phpMYadmin에서 [PHP코드보기] 선택시 아무것도 보이지 않습니다.
                      특별히 해야할 설정이 따로 있나요?
                      조언 부탁드립니다.^^
                    • 규현빵
                      정리3 강좌에서
                      동일하게 입력했지만 링크를 클릭해보면 정보가 안나오더라고요..
                      주소를 http://localhost......ot; 로 수정했더니 정보가 나와요!
                      이고잉님은 왜 그냥 localhost로 지정해도 정상적으로 클릭해도 링크주소에 practice1의 경로로 나오시나요?ㅠㅠ
                      제가 어느부분을 설정을 잘못한건가요?
                    • ricosuave
                      정주행 완료했습니다.
                      이런 컨텐츠를 만들어주셔서 정말 감사드리고요,
                      많은 사람들이 동참하고 더 좋은 내용들이 공유되었으면 좋겠습니다.

                      이처럼 기술의 진입점에서 빅픽쳐를 그려주는 강의는
                      에둘러 돌아와야할 많은 과정을 단축시켜주고
                      앞으로 가야할 먼 길을 첫발부터 옳은 방향감각을 가지고 갈 수 있도록 해주는
                      매우 소중한 자료라고 생각합니다.

                      이와 비슷한 더 많은 시도들이 있어야하고,
                      더 많은 분야에 이렇게 씹어서 이해시켜주는 많은 살아있는 튜토리얼이 존재해야합니다.
                      엔지니어링이나 공학이 생각보다 어렵지 않은 내용일 경우에도,
                      너무 텍스트와 이론에 의존하여 갇혀있는 지식으로 존재하는 것을 보아왔습니다.

                      많은 내용이 '번역'되어야 한다고 생각합니다.
                      영어 기술문서가 한글로 번역되든,
                      죽어있는 언어가 자기가 소화한 살아있는 언어로 번역되든,
                      많은 기술이 번역되고 재구성되어 많은 사람들이 공유할 수 있는 플랫폼이 필요하다고 생각합니다.
                      꼭 공학이 아니더라도 '배움'의 형태를 띄는 모든 것에 해당되는 이야기입니다.

                      저도 언젠가는 이러한 일에 기여하고 싶다고 생각했는데,
                      먼저 훌륭한 길을 가시는 모습이 멋있고 대단하다고 느낍니다.
                    • 조아
                      말씀해 주신대로 bitnami php opcache off라는 키워드로 "네이버"에 검색해보니
                      "개발을 위한 PHP 설정 "이라는 블로그(http://blog.naver.com......428)가 있네요.
                      블로그에 나와 있듯이 php.ini 파일의 내용을 다음과 같이 바꾸니 php파일 수정 사항이 즉시 즉시 잘 반영되네요.
                      display_errors = On
                      display_startup_errors = On
                      error_reporting = E_ALL
                      log_errors = On
                      opcache.enable = 0
                      내용을 바꾼 후에는 Bitnami WAMP Stack Manager Tool을 실행해서 Manage Servers 메뉴에서 Apache Web Server를 Restart 해서 설정을 적용시켜야 하구요.
                      opcache.enable = 0 은 변경된 코드를 바로 갱신해준다.(기본값은 1)라고 써 있네요.
                      egoing님! 좋은 정보에 거듭 감사드립니다.
                    • egoing
                      bitnami php opcache off라는 키워드로 검색해보시면 아마도 해결책을 찾을 수 있을꺼예요. 지제가 모바일이라 찾아드리지 못함을 양해 부탁 드려요~
                      대화보기
                      • 조아
                        안녕하십니까?
                        너무나 좋은 강의 감사히 잘 듣고 있습니다.
                        egoing선생님은 인터넷강의에 아주 잘 어울리는 인상적이면서도 천부적인 목소리를 가지고 있네요.
                        물론 강의 내용과 설명도 더 말할 나위없이 아주 쉽게 귀에 쏙쏙 들어오게 잘 말씀해 주시고 있구요.
                        드릴 말씀은 다름이 아니오라 "웹애플리케이션 만들기 - 정리 2"코드를 실행하면 즉시 크롬브라우저에 반영이 안되고 크롬 창을 닫았다가 다시 열던지 좀 시간이 지나야 정상적으로 반영이 되는데요.
                        수정사항이 즉시 즉시 반영되도록 하는 방법이 있으시면 좀 부탁드립니다.
                        좋은 강의에 거듭 그리고 항시 존경과 감사를 드립니다.
                      • 라꿍차타
                        phpMyadmin에서

                        SELECT * FROM `topic`을

                        [PHP 코드 보기] 클릭해서

                        $sql="SELECT * FROM `topic`"

                        가 나와야되는데

                        아무화면도 뜨지 않아요.

                        혹시 해결 가능한건가요?
                      • Wookiiis
                        잘 보았습니다. :)
                      • Stephen Lee
                        수고하셨습니다~
                      • 김준형
                        복습강의가 많아서 시간이 좀 걸리네요....
                      • JustStudy
                        고맙습니다 2.
                      • Sy Kim
                        동영상 4번 끝부분, 5번 시작 시 저도 아래랑 동일한 에러... Chizcake 말씀처럼 localhost/practice1/index.php?id=1 이런식으로 접속해도 되구요.. 저는 egoing님 올려주신 예제파일 github에올려주신거 참고해서 $id= ~~ 전에 저렇게 넣었더니 되네요..
                        if(empty($_GET['id'])){
                        echo "Welcome";
                        } else {
                        $id=~~~

                        } --> 요거 닫는거 잊지 마세요..
                      • Sy Kim
                        1화 5분듣다가 선댓글답니다.. 이제까지 배운순서..즉 교육적 목적에 따라 배우는게 아니라.. 엔지니어 입장에서 접근한다고 하니.. 복습 강의가 더 기대됩니다.
                      • 이승민
                        PHP 코드 보기가 작동을 안하네요. 아무 글도 안뜨고 흰바탕 오른쪽위에 '새 창으로 phpMyAdmin 열기' 기능의 조그마한 네모만 있네요. 해결 방법 아시는분 계신가요?
                      • 이승민
                        감사합니다!! 저도 같은 오류가 떠서 당황했네요.
                        대화보기
                        • Chizcake
                          만약 http://localhost......php 로 접속하신거라면 오류가 나는게 정상인 것 같습니다.

                          $id = $_GET['id']; 를 통해 URL에서 id 값을 받아오도록 코드가 짜여있는데,
                          위의 주소대로 웹페이지를 열면 $id에 들어가는 값이 없기 때문에 그 밑에 있는 $sql, $result 모두 원하는 값을
                          저장하지 않게될 겁니다.

                          http://localhost......d=1 과 같이 뒤에 id 값을 넣어서 페이지에 접속하시면 오류가 뜨지 않을거에요.


                          아니면, $id = $_GET['id']; 코드부터 다음과 같이 수정해보세요.

                          if (!empty($_GET['id'])) {
                          $id = $_GET['id'];
                          $sql = "SELECT * FROM topic WHERE id=".$id;
                          $result = mysqli_query($conn, $sql);
                          $row = mysqli_fetch_assoc($result);
                          }
                          대화보기
                          • garimtoxg@gmail.com
                            2,3번 강의 듣다가 막혀서 질문 올립니다.

                            Notice: Undefined index: id in C:\Bitnami\wampstack-5.5.33-00\apache2\htdocs\pushup\index.php on line 9

                            Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\Bitnami\wampstack-5.5.33-00\apache2\htdocs\pushup\index.php on line 12

                            이런 오류가 뜨네요 ㅠㅠ
                            코드는 아래와 같습니다. 강의에 나오는 대로 코딩하였는데 왜 그런지 모르겠습니다.

                            <?php
                            $conn = mysqli_connect('localhost', 'root', '111111');
                            mysqli_select_db($conn, 'pushup_kong');
                            $sql = "SELECT * FROM `topic`";
                            $result = mysqli_query($conn, $sql);
                            while($row = mysqli_fetch_assoc($result)){
                            echo '<a href="index.php?id='.$row['id'].'">'.htmlspecialchars($row['title']).'</a><br/>';
                            }
                            $id = $_GET['id'];
                            $sql="SELECT * FROM topic WHERE id=".$id;
                            $result = mysqli_query($conn,$sql);
                            $row = mysqli_fetch_assoc($result);
                          • 동물사랑
                            process.php 파일중
                            아래와 같이 에러가 계속 나네요. ㅠ_ㅠ

                            Notice: Undefined index: author in C:\Bitnami\wampstack-5.6.19-0\apache2\htdocs\practice1\process.php on line 4

                            소스를 아래와 같이 가져다 써도 에러가 납니다.

                            2번줄 $conn = mysqli_connect('localhost', 'root', '111111');
                            3번줄 mysqli_select_db($conn, 'opentutorials2');
                            4번줄 $author=mysqli_real_escape_string($conn,$_POST['author']);
                            5번줄 $sql = "SELECT * FROM `user` WHERE `name`='{$author}'";

                            원인이 뭔지 알 수 없을까요?
                          • Kyu Tae Kim
                            어느새 여기까지 왔네요. 갈길이 멀지만, 지금까지 기초적인부분을 알아본것만해도 엄청난것 같습니다. 이렇게 쉽게 설명해주시니 가능했었던 일같습니다. 감사합니다.
                          • 동물사랑
                            감사합니다.
                          • JustStudy
                            고맙습니다
                          • 김트라슈
                            플레이타임이 엄청 길어서 이틀에 나눠서 봤습니다.
                            본 부록이 그동안의 강의 동영상 편집정도로 생각했는데, 큰 맥락은 복습임에 변함이 없지만
                            이래저래 새로운내용과 팁들이 많아서 지루하지 않고 아주 아주 좋았습니다.
                            다만 부트스트랩 내용이 없으니 안이뻐서 기능은 완벽하지만 왠지 완성이 덜된 느낌이랄까~
                            역시 프로그램은 디자인이 80먹고 들어가는걸 다시 느끼네요.ㅎ
                            남은 시간에 디자인도 입혀봐야겠습니다.
                            잘봤습니다. 감사합니다.
                          • 굳은돌자리
                            감사합니다
                            계속 반복하겠습니다
                          버전 관리
                          egoing
                          현재 버전
                          선택 버전
                          graphittie 자세히 보기