생활코딩

Coding Everybody

코스 전체목록

닫기

부록 : 복습

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

 

 

 

 

 

 

  

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

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

댓글

댓글 본문
작성자
비밀번호
  1. DJan
    드디어 이곳까지 왔습니다 ^^ 정말 감사합니다.

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

    어느정도 만들어지면, 말씀드릴게요 감사합니다!
  2. 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먹고 들어가는걸 다시 느끼네요.ㅎ
                      남은 시간에 디자인도 입혀봐야겠습니다.
                      잘봤습니다. 감사합니다.
                    • 굳은돌자리
                      감사합니다
                      계속 반복하겠습니다
                    • aristoi
                      복습하니까 좀더 이해하게 됐습니다^^ 다음에는 책을 보면서 다시 해보겠습니다.~~
                    • 궁금이
                      php와 mysql로 가지고 온 글, 즉 본문에 HTML 혹은 CSS 효과를 줄 수 있는 방법이 있나요?
                    • 하늘위에소망
                      egoing님 항상 강의 감사드립니다( _ _);
                      댓글을 잘못달아서 삭제할려고 했더니 '삭제', '취소' 두 버튼 다 이벤트 발동이 안되네용~
                      댓글, 수정 버튼의 이벤트 발동은 다 잘되는데 삭제만 안되네용.
                      저만 그런건지 확인 부탁드립니당~!
                      대화보기
                      • SK Kim
                        도장 쾅!
                        index.php의 $_GET['id'] 상태를 확인하는 if 문에 id=-1을 추가하여 쓰기 form 태크 내용을 처리하면 write.php 없이 할수 있네요. 지금까지 배운걸 토대로 해보니 신기하면서 뿌듯합니다.
                      • 고고
                        '과 "과 .이 제일 어렵네요 ㅋ
                      • 양항준
                        몇 번의 도전끝에 이제 전체 그림과 세부 내용들이 이해가 되었습니다.
                        물론 아직 미진한 부분이 있지만, 반복이 해결해 주지 않을까요?
                        정말 감사합니다.
                      • 리라리아
                        감사합니다. 이고잉님 !!!
                      • egoing
                        어이쿠 큰 오타가 있었네요. ㅠㅠ
                        방금 수정했습니다!
                        대화보기
                        • Cong-A
                          write.php 파일에 author 오타가 있어요. <label for="authro"> 이렇게요.
                          그래서 아무리 저자를 클릭해도 커서는 나타나지 않아요.ㅎㅎ
                          그리구 process.php 파일엔 중간에 <?> 가 있어 이후 코드가 전부 주석 처리가 되었어요.
                          전송 클릭하면 에러 납니당.
                        • 김재현
                          phpmyadmin에서 edit inline으로 sql문을 수정했는데요. 다시 리로드하면 수정한게 저장이안되고 원래 SQL문인SELECT * FROM `topid`으로 바껴집니다.;; 어떻게 해결해야할지 모르겠네요 ㅠㅠ
                        • Jerome KwangSeok OH
                          정리7 영상에서
                          body 배경색 바꾸는 버튼.

                          Classname 안되고
                          ClassName 안되고
                          classname 안되고
                          className 이거만 되네요ㅋ 5분동안 헤맸습니다. 대소문자 규칙 잘 지켜야 겠어요 ^_^
                        • 꾸꾸꿍
                          정리 8번 동영상 34분 쯤에 궁금한점이 하나 있어요~

                          process.php 마지막 부분에

                          $sql = "INSERT INTO
                          `topic`
                          (`id`, `title`, `description`, `author`, `created`)
                          VALUES (NULL, '{$title}', '{$description}', '{$user_id}', now())";
                          $result = mysqli_query($conn, $sql);

                          에서 위 태그와 같이 $result로 변수를 정하든

                          mysqli_query($conn, $sql);

                          변수로 취하지 않고 그냥 구문을 바로 써도 둘 다 작동을 하는데 왜 그런건지 궁금해요
                          어떤 태그나 값을 $을 써서 변수로 잡아도 그 값은 일단 한 번 작동하는건가요? 갑자기 헤깔리네요..

                          강의 정말 감사히 잘 보고 있습니다. 최고에요 :)
                        • 와우
                          정말정말 감사드립니다
                        • 준맹
                          한참 찾았네요. 제가 phpmyadmin 으로 sql문을 받을 때 WHERE 'name' = 'egoing' 을 받아야하는데 그 사이에 = 대신 LIKE가 들어가있었네요ㅠㅠ 부끄럽습니다. 강의 감사합니다. 이고잉형님.
                          대화보기
                          버전 관리
                          egoing
                          현재 버전
                          선택 버전
                          graphittie 자세히 보기