웹(php)/웹(login)_php

[Project1]로그인 구현하기 (php, mysql, html)_ 로그인(login.php)

byeol2ing 2016. 11. 8. 12:04
반응형


[Project1]로그인 구현하기  (php, mysql, html)_ 로그인(login.php)


설명은 주석으로 잘설명해 두었습니다.

그런데 앞부분에

session.php 는 무엇일까요

session.php에서는 session이 끝나기전까지 유지시켜줍니다.

session.php

1
2
3
4
<?php
    session_cache_limiter("private_no_expire");
    session_start();        //세션시작에 실패하면 false 반환   에러시 무시: @sesison_start(); 또는 output_buffering=on인지 확인
?>
cs



login.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136

    <?
    include"session.php";   //session.php파일을 포함

    ?>
 
<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>DB</title>
    <style>
     a:link {
     color: black;
     background-color: transparent;
     text-decoration: none;
     }
     a:visited {
     color: gray;
     background-color: transparent;
     text-decoration: none;
     }
     a:hover {
     color: gray;
     background-color: transparent;
     text-decoration: underline;
     }
     a:active {
     color: black;
     background-color: transparent;
     text-decoration: underline;
     }
      #jb-container {
        width: 940px;
        height: 450px;
        margin: 0px ;
        padding: 20px;
        border: 1px solid #bcbcbc;
      }
      #jb-header {
        padding: 20px;
        margin-bottom: 20px;
        border: 1px solid #bcbcbc;
      }
      #jb-sidebar-left {
        width: 650px;
        height: 170px;
        padding: 20px;
        margin-right: 20px;
        margin-bottom: 20px;
        float: left;
        border: 1px solid #bcbcbc;
      }
      #jb-content {
        width: 450px;
        padding: 20px;
        margin-bottom: 20px;
        float: left;
        border: 1px solid #bcbcbc;
      }
      #jb-sidebar-right {
        width: 160px;
        padding: 20px;
        margin-bottom: 20px;
        float: right;
        border: 1px solid #bcbcbc;
      }
      #jb-footer {
        clear: both;
        padding: 20px;
        border: 1px solid #bcbcbc;
      }
    </style>
  </head>
 
 
<body>
    <div id="jb-container">
      <div id="jb-header">
        <h1>WELCOME</h1>
      </div>
      <div id="jb-sidebar-left">
        <h2>Menu</h2>
        <ul>
 
          <li><a href="10.html " >관리</a></li><br>
          <li><a href="20.html " >게시판</a></li><br>
          <li><a href="30.html " >검증</a></li><br>
 
        </ul>
      </div>
 
      <div id="jb-sidebar-right">

        <?php 

    
    $host = 'localhost'; 
    $user = 'root';
    $pw = '111111';
    $dbName = 'opentutorials';
    $mysqli = new mysqli($host, $user, $pw, $dbName); //mysql로 접근 하도록 설정
    $memberId = $_POST['id'];
    $memberPw = $_POST['password'];
    $sql = "SELECT * FROM member WHERE id = '$memberId' AND pwd = '$memberPw'"; //my sqli 연결의 끈을 생성시키고, 쿼리를 실행
      //고른다 모든것 member테이블로부터 id와 pwd가 일치하는 것을
    $res = $mysqli->query($sql); //실행결과는 $res에 저장
 
 
        $row = $res->fetch_array(MYSQLI_ASSOC); // 넘어온 결과를 한 행씩 패치해서 $row라는 배열에 담는다.
 
        if ($row != null) {                                                 //만약 배열에 존재한다면
            $_SESSION['ses_username'] = $row['name'];                           // 세션을 만들어준다. 
            echo $_SESSION['ses_username'].'님 안녕하세요<p/>';                   // name님 안녕하세요.
            echo '<a href="./index.php">로그아웃 하기</a>';           //로그아웃 페이지 링크.
        }
 
        if($row == null){                                                    //만약 배열에 아무것도 없다면
            
         echo("<script>location.href='RSDB_starterror.php';</script>");          //애러 화면으로 넘김
 
 
            
        }
 
 
?>


 
      </div>
 
    </div>
  </body>
</html>

cs


반응형