웹 애플리케이션 만들기

로그인 기능 만들기

자바스크립트로 로그인 기능 구현하기 

 7.php

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
</head>
<body>
  <script>
    password = prompt("비밀번호");
    if(password == 1111) {
      document.write("안녕하세요. 주인님");
    } else {
      document.write("뉘신지?");
    }
  </script>
</body>
</html>

PHP로 로그인 기능 구현하기 

 8-1.php

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
</head>
<body>
  <form action="8-2.php">
      <p>비밀번호를 입력해주세요.</p>
      <input type="text" name="password">
      <input type="submit">
  </form>
</body>
</html>

8-2.php

<!DOCTYPE html>
<html>
<head>
     <meta charset="utf-8">
</head>
<body>
  <?php
    $password = $_GET["password"];
    if($password == "1111"){
        echo "주인님 환영합니다";
    } else {
        echo "뉘신지?";
    }
   ?>
</body>
</html>

 

소스코드

github

댓글

댓글 본문
작성자
비밀번호
  1. GoldPenguin
    완료했습니다.
  2. Baekkyu Han
    로그인 기능 만들기
    조건문의 실 활용
    자바스크립트로 로그인 기능 구현
    prompt

    <body>
    <form action="8-2.php">
    <p>비밀번호를 입력해주세요.</p>
    <input type="text" name="password">
    <input type="submit">

    PHP로 로그인 기능 구현
    8-2.php

    <body>
    <?php
    $password = $_GET["password"];
    if($password == "1111"){
    echo "주인님 환영합니다";
    } else {
    echo "뉘신지?";
    ?>
    </body>
  3. 박예지
    7/21 완료
  4. 카라멜팝콘
    저도 코알못이지만, 1번 질문에 대해 저도 비슷한 궁금증을 느껴서 찾아본 내용 공유합니다!

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

    [PHP에서 한 줄의 끝 구분하기]

    우리가 글을 쓸 때 문장의 마지막에 마침표(.)를 찍듯이, PHP 도 한 문장이 끝날 때 마침표(;)를 찍습니다.
    PHP에게 "이게 한 문장이야~" 라고 친절히 알려주는 것이죠.
    우리는 글을 쓸 때 마침표를 찍지 않아도 다 알아볼 수 있지만, PHP는 마침표가 없으면 마침표가 나올 때까지
    한 문장이라고 해석을 하게 됩니다. 그래서 반드시!!! 한 문장이 끝나면 마침표를 찍어줘야 합니다.

    PHP에서의 마침표는 ; (세미콜론) 입니다.

    출처: http://www.ezphp.net......php

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

    [세미콜론(;)에 이렇게 깊은 뜻이...]

    C/C++이나 JAVA 언어를 학습할 때 하나의 statement는 세미콜론(semicolon)으로 끝났다는 것을 배웁니다. 저도 처음에는 그러려니 하며 배웠지만 최근 영문법 관련 자료를 읽으면서 세미콜론을 붙이는 논리적인 이유가 있다는 것을 알게되었습니다.

    국문법에는 세미콜론이라는 punctuation mark의 대한 활용법이 없지만 영문법에는 그것에 대한 규칙이 정해져 있습니다.

    가장 중요한 활용 예중 하나가 독립적인 두 영문장이 밀접한 관련이 있으나 등위 접속사(예를 들어, and, or)로 연결되지 않은 경우에 두 문장이 밀접히 관련 되었음을 나타내기 위해 사용합니다. 그 실례는 다음과 같습니다.

    "A man chooses; a slave obeys."

    위 두 문장은 의미상 but으로 연결되어 있지만, 접속사가 생략된 경우, 두 문장을 위와 같이 세미콜론으로 연결해줘서 읽은 이에게 두 문장이 밀접하게 연결되었음을 깔끔하게 나타냅니다.

    따라서 C/C++ programming language에서 여러 statement 나열은 아래와 같은 것을 의미하지만

    statement_A, and (then) statement_B, and (then) statement_C

    and를 생략하고 대신 세미콜론을 넣어서

    statement_A; statement_B; statement_C

    라고 간결하게 표현한 것이라 볼 수 있습니다.

    출처: https://kldp.org......780
    대화보기
    • 가영
      완료!
    • 이환길
      완료!
    • 완료 ^^
    • Michael
      완료!
      감사합니다~
    • Shonny
      감사합니다.~
    • 유정엽
      수강완료!
    • healer
      돌파~~~~~~~~~~~~
    • hunter10
      완료
    • DONE
    • 완료
    • markerss2
      완료!
    • jayxwoo
      잘 봤습니다. 감사합니다^^
    • 김범진
      완료
    • Myeongjin Ko
      완료
    • yoon88
      마지막동영상 시청중
    • bbollonge
      완료!
    • 시바견
      와 이번편은 엄청 반복해서 봤네요
    • GoldenBough
      완료했습니다.!!
    • 코알못
      코알못 질문이 있습니다!
      1. 세미콜론을 붙일때와 안붙일때가 헷갈리네요..!!@_@ ....
      2. URL에 나타나는 내용을 수정하려면 (=말씀하신것처럼 password가 나오는게 아니라 pwd나 id가 나오게끔)
      8_1.php에서 <input type=''text" name="password"> 에서의 "password"도 "pwd"나 "id"로 변경해주어야 하는건가요? 실제로 해봤지만 오류가 나네요.... 무엇을 간과했던 문법이였을까요....흠...
      + 정확하게 어떤 php파일의 ""안에 있는 텍스트가 URL에 송출되는 건지 궁금합니다!! (ex_8_1.php인지 8_2.php인지.....)
      +2 URL을 먼저 바꾸고, 8_2.php 파일에서 GET[""] 안의 내용을 URL에서 바꾼 내용으로 입력하면 오류는 안생기네요....? 왜 반대의 경우는 안될까요...?
    • 희락
      완료했습니다 ~!
    • 박서chris
      처음엔 별로 재미가 없을것 같았는데 지금은 너무 재미있어요!!!
    • 임영선
      강의 잘 봤습니다!
      음.. 8-1에서 버튼을 누르면 8-2페이지로 넘어가지는게 맞는 건가요? 웹에 대해서는 잘 모르고있어서 약간 이해가 어렵긴 하지만 성취감이 있어서 좋습니다!
    • 임영선
      8-2.php를 보시면 "1111"을 보실 수 있는데요. 이것은 명백히 1111과 다릅니다. 아마 0101을 "0101"로 바꾸시면 될거예요.

      데이터타입과 연산자 강의였나, 이전에 다룬 내용과 같은데 실습에서는 알아차리기 힘들 수 있습니다. 일단 저희 눈에는 그냥 숫자로 보이니까요!
      일반적인 텍스트 상자(위 동영상의 패스워드 입력 상자)를 쓰시고 이후에 처리를 아무것도 안한다면 그 내용은 저장될 때 아무리 숫자만 쓰신다고 해도 1111이 아닌 "1111"로 저장됩니다. "0101"과 0101은 데이터타입부터 다르니 아무리해도 else문으로 빠지게 될 것 입니다.
      대화보기
      • charl
        완료!
      • 이경수
        이해가 잘 되네요 ㅎㅎ감사합니다.
      • 코딩학습생
        강의 잘 봤습니다.
        소스코드가 있어서 학습하기에 더 편한 거 같습니다.
      • 인재진
        수강완료했습니다
      • 푸른바람9101
        열심히..
      • 손태민
      • Jae Il Park
        감사합니다~~
      • kong il
        오 됐네요 감사합니다!~
        대화보기
        • 김태윤
          무언가 홈페이지 같은 기능을 해서 기분 좋았는데.. 강사님과 똑같이 되지 않았을때 작동 되지 않는 것을 보고는 다시 좌절합니다.. 어서 이 무지렁이를 벗어 날 수 있음 좋겠네요..ㅠㅠ 잘 봤습니다 :)
        • 0으로 시작하는 수가 없어서 그런가봐요 ㅎㅅㅎ 문자열로 받아보세여
          대화보기
          • kong il
            비밀번호를 0101로 하면 0101을 쳐도 else문으로 빠지는데 이유가뭔가요?
            if(password==0101){
            document.write("환영");
            } else{
            document.write("ㅂㅂ");
            }
          • charlie
            완료했습니다.^^
          • 이군도
            수강했습니다!
          • Five Senses
            javascript : prompt("비밀번호")
            php : $_GET("password")
          • Whoisy
            보통 비밀번호일 경우 보안을 위해 POST 방식을 비밀 번호를 넘깁다.
            한번 form 태그에 method="POST" 속성을 삽입하고

            $password = $_GET["password"]; 를 $password = $_POST["password"];
            로 바꾸어서 해보세요..
          • cutelee2님~ 답변감사합니다!
            네~ 이고잉님 수업에서도 조건문에서 === 세번 쓰는 경우를 보고, 다시 아리송(?)했어요~
            이해하는데 도움이 되었습니다~ 감사합니다 ^^
            대화보기
            • 이용성
              수강 완료
            • milky702
              역시 어렵네요;;
            • 김대희
              수강완료.
              잘 들었습니다.
            • Penguin Bus
              아....자료형이 달라서 그렇게 되는 거군요!!!
              그런 연산자도 있는건 몰랐는데 덕분에 많이 알고갑니다.ㅎㅎ
              대화보기
              • 이재욱
                완료^^
              • cutelee2
                if(password==="1111")로 수정하시면 작동합니다.
                자바스크립트에서 '==='이라는 연산자는 사실 존재합니다^^
                == 연산자가 값이 같을 때 true를 반환한다면 === 연산자는 값과 자료형이 모두 동일할 때 true 값을 리턴해줍니다.
                password라는 변수는 string 형인데
                if(password===1111)로 될 경우 이 1111이 숫자로 인식되기 때문에 값이 같더라도 자료형이 달라서 false를 리턴해 who are you 라는 결과를 출력하게 되는 것입니다.
                if(password==="1111")로 수정해주시면 1111을 문자열(string)로 인식하기 때문에 값과 자료형이 일치하여 true를 리턴해서 원하는 값을 얻으실 수 있을겁니다! 공부에 도움이 되셨기를^^

                p.s password 변수의 자료형이 궁금하시다면
                document.write(typeof(password)) 라는 코드를 입력하시면 string 이라는 것을 확인하실 수 있습니다^^
                대화보기
                • 김진홍
                  감사합니다!
                버전 관리
                egoing
                현재 버전
                선택 버전
                graphittie 자세히 보기