카테고리 없음

HttpRequest(HTTP+웹서버+사용자)

타코따코 2019. 10. 18. 17:35

[준비물]

1. sublime 프로그램을 사용한다.

2. http://chocojoa123.dothome.co.kr/myadmin/sql.php?server=1&db=아이디입력&table=board&pos=0

3. http://chocojoa123.dothome.co.kr/HttpRequest/index.html 

 

HTTP-APM(Apatch+PHP+MySQL)+사용자

 

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
<!-- 처음 파일 이름을 저장할 때 html으로 만들면 okay -->
<!-- !DOCTYPE html을 써야 이 문법으로 쓰겠다  -->
<!-- 화면에 보이지 않는 영역을 담당하는 게 head -->
<!-- utf-8 한글도 사용하겠다. -->
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">        
        <title>This is my Page</title>
    </head>
 
    <body>
        <!-- h1 ~ h6 크기사이즈가 다 다르다. -->
        <h2>This is Http Test page</h2>
        <!-- 긴 네모박스가 생긴다.  -->
            <fieldset>
                <!-- 박스 사이에 글씨가 생긴다. -->
                <legend>GET METHOD TEST</legend>
 
                <!-- form 안에 두개 씀 -->
                <!-- submit을 누르면 action="getTest.php가 진행되도록 -->
                <form action="getTest.php" method="GET">
                <P> Name : 
                <!-- <input => EditText와 같음. type=들어갈 속성  -->
                <!-- 서버URL?name=SAM&age=20, name="aaa"하면 aaa=SAM으로 변경됨.  -->
                <input type="text" name="name">
                </P>
 
                <p>
                    <label>Message</label>
                    <!-- 서버URL?text=msg 로 변경됨을 의미함 -->
                    <input type="text" name="msg"> 
                </p>    
 
                <p>
                    <!-- input type을 submit으로 바꾸면 제출 버튼에 생김.  value에서 '제출' 글자 바꿀 수 있음-->
                    <!-- submit을 하면 html -> php로 이동 -->
                    <input type="submit" name="" value="전송">
                    <input type="reset" name="" value="취소">
                </p>
 
                </form>
                <!-- 한 단락을 의미함 -->
                
            </fieldset>
 
///////////////////////////////////////////////////////////////////////////////////////////////////////
 
            <!-- 여기서는 POST 방식 -->
            <fieldset>
                <legend> POST METHOD TEST</legend>
                <!-- form 안에는 전송할 내용들  -->
                <form action="postTest.php" method="post">
                    <p>
                        <label>Name:</label>
                        <input type="text" name="name">
                    </p>
                    <p>
                        <label>Message :</label>
                        <input type="text" name="msg">
                    </p>
                    <p>
                        <input type="submit" name="" value="전송">
                        <input type="reset" name="" value="취소">
 
                    </p>
                </form>
            </fieldset>
 
///////////////////////////////////////////////////////////////////////////////////////////////////////
 
            <!-- 이미지 찾아오기 -->
            <fieldset>
         <legend>Image File Upload</legend>
         <form action="uploadFile.php" method="post" enctype="multipart/form-data">
 
         <p>
            <label>Image File : </label>
            <input type="file" name="upload">
 
         </p>
         <p>
            <input type="submit" value="전송">
            <input type="reset" value="취소">
         </p>
         </form>
      </fieldset>
 
 
///////////////////////////////////////////////////////////////////////////////////////////////////////
<!-- 파일은 post방식 -->
      <fieldset>
          <legend> Post METHOD REQEUST Data with File </legend>
          <form action="postDataWithFile.php" method ="post" enctype="multipart/form-data">
              
              <p>
                  <label>Name : </label>
                  <input type="text" name="name"> 
              </p>
              <p>
                  <label>Message : </label>
                  <input type="text" name="msg">
              </p>
              <p>
                  <label>Image File : </label>
                  <input type="file" name="upload">
              </p>
              <p>
                  <input type="submit" name="" value="submit">
                  <input type="reset" name="" value="cancel">
              </p>
          </form>
      </fieldset>
 
          <fieldset>
              <legend>Load Data</legend>
              <form action="loadDataFromDB.php" method="POST" enctype="multipart/form-data">
                  <input type="submit" name="" value="load">
                  
              </form>
          </fieldset>
    </body>
 
</html>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
s

 

 

///////////////////////////////////////////////첫번째///////////////////////////////////////////////////////////

 

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
 
<?php 
 
//내용 타입을 html에 지정한 것과 동일하게 
// $는 참조변수
// GET방식으로 받아오기에 $_GET
header("Content-Type: text/html; charset=UTF-8");
 
$name = $_GET['name'];
$msg = $_GET['msg'];
 
//응답할 문자를 보내준다.
//" " 으로 하면 안의 참조변수 구별
//''으로 하면 문자로 구별함. 
//.이 php의 문자열 결합을 의미함 +같이.
//두개 아무거나 사용해도 됨.
 
//html 에서 보낸 name과 message가 getText.php로 보내면 
//php에서는 echo로 반응한다. 
//웹서버에는 php컴파일러가 있음, 그냥 윈도우인 D://에서는 알아듣지 못함. 
//알아듣기 위해서는 php를 깔아야함. 
//html,css,는 브라우져가 컴파일러 = 다 완료하고 실행 
//javascript 는 인터프리터 = 한줄씩 실행
// <br>은 한칸 띄기
 
//echo "Name :.$name <br>;
echo "Name : $name <br/>";
echo "Message : $msg"
 
?>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

 ///////////////////////////////두번째//////////////////////////////////////////

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
 
// 이 방식은 post방식. 
// html불러오고 utf-8를 써서 한글도 알아들 수 있도록 
header('Content-Type:text/html; charset=utf-8');
 
//앞에는 변수명 아무거도 써도 되지만 배열안에는 html에서 쓴 글을 써야한다.
$name =   $_POST['name'];
$message = $_POST['msg'];
 
echo "Name : $name <br/>";
echo "Message : $message <br/>";
?>
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

 

///////////////////////////////////////////세번째////////////////////////////////////////////////////////

 

 

 

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
<?php
 
//파일정보를 받았는데 배열임. []가 없음. 그냥 다 $로 처리함.
$file = $_FILES['upload'];
 
 
//[] 처리이기때문에 name size등을 쓴다.
$fileName = $file['name'];
$fileSize = $file['size'];
$fileType = $file['type'];
$fileTmpName = $file['tmp_name'];
 
echo "$fileName <br/>"; //fileNmae의 변수값이 나온다.
echo "$fileSize <br/>";
echo "$fileType <br/>";
echo "$fileTmpName <br/>";
 
//어디에 있는 놈을 어디로 ㅇ옮길 것인가.
//uploads/ 하면 uploads경로를 지정, ftp에서 uploads파일을 직접 만들어야한다.  
 
$path = "uploads/";
$dstName = date('Ymdhis').".png"; //년월일시분초 라고 외우자.  결합연산자는 .이다.
 
$reuslt = move_uploaded_file($fileTmpName, $path.$dstName);
if($reuslt) echo "success";
else echo "fail";
 
?>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

 

 

////////////////////////////////////////네번째///////////////////////////////////////////////

 

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
<?php
// text중 html문법을 따라간다. 
header('Content-Type:text/html; charset=utf-8');
 
//$_POST방식 받기
//FILES[] 
$name = $_POST['name'];
$message = $_POST['msg'];
 
 
//파일은 파일에 대한 정보를 가지고 있어야한다.
//['']안에 들어가는 글자는 정해진 글자
$file =$_FILES['upload'];
 
//파일 헤더에 대한 정보들 
$srcName = $file['name'];
$fileSize = $fileSize['size'];
$fileType = $file['Type'];
 
//임시파일경로 필요
$tmpName = $file['tmp_name'];
 
echo "$name <br/>";
echo "$message <br/>";
echo "$srcName <br/>";
echo "$tmpName <br/>";
echo "$fileSize <br/>";
echo "$fileType <br/>";
 
//임시저장소에 있는 이미지 파일을 
//php 문서가 있는 곳과 같은 폴더 안에 uploads 폴더 안으로 이동시키기 
 
$path = "uploads/";
$filename = date('Ymdhis').$srcName//201910181332 ..이런식으로 나옴.  jpg로 올려도 png로 저장됨. 
 
//최종 이미지 파일의 경로 
$dstName = $path.$filename;
$result = move_uploaded_file($tmpName$dstName);
if($resultecho "sucess upload file.";
else echo "fail upload file";
 
//Data 저장하는 날짜와 시간
//$now는 참조변수 그냥 만든거 
$now = date("Y-m-d h:i:s");
 
 
//Database에 업로드 된 데이터 저장
//Database를 제어해주는 프로그램 사용(DBMS : MySQL) 사용 
//php에서 databse와 연동하기
//MySQL DB 프로그램에 접속하기
//i는 improve 향상된 
 
//총 4개를 필요로함. 
//localhost 자신의 컴퓨터를 지칭함. 
//DB서버주소  //DB접속아이디, DB접속비밀번호, DB명 4개 필요로 함. 
$conn = mysqli_connect("localhost","chocojoa123","chocojoa12!","chocojoa123"); 
 
//한글깨짐방지-여기는 빼기가 없다.
//$conn에게 연결합니다.   
 mysqli_query($conn,"set names utf8");
 
//SQL 쿼리문 작성 
 //numbers는 자동증가이므로 넣지 않는다. 
 //위치지정 ---> 값 넣기 숫자면 그냥, 문자면 '',""을 해야하는데 이미 ""안에서 쓰고 있는 중이기에 ''로 써야한다.
 //숫자는 '10' 10이든 상관 없이 쓴다. 
$sql="insert into board(name,message,file,date) values('$name','$message','$dstName','$now')";
//conn을 통해서 요청문을 보낸다. 
 
$result = mysqli_query($conn,$sql);
 
if($result){             //c언어기반이기에 0, false아니면 다 참. 그래서 == 비교 할 필요가 없다 (자바와 다른 점. ) //
        echo "insert success";
}else{
        echo "insert fail";
}
 
//항상 끝나면 닫아야한다. 
mysqli_close($conn);
 
?>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
 

 

////////////////////////////////////////다섯번째///////////////////////////////////////////////

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
<?php
 
//php 한글깨짐 방지
header('Content-Type:text/html; charset=utf-8');
 
//MySQL DB에 접속하기, 접속하면 conn을 준다. 
$conn = mysqli_connect("localhost","chocojoa123","chocojoa12!","chocojoa123");  //본인주소
 
//mysql 한글깨짐방지
mysqli_query($conn"set names utf8");
 
//DB에서 데이터를 읽어오는 쿼리문을 작성
//* = 칸을 다 읽어와주세요
//$sql ="select * from board where id=2"; id 2번째 칸 읽어오기
$sql ="select * from board";
$result = mysqli_query($conn,$sql);
 
//$result는 결과 데이터들을 가지고 있는 표 (db에 있는 표를 읽어서 그래도 가져옴 )
//총 레코드  수(행의 갯수) 레코드가 한 줄 전체를 의미함.
 
 $rowCount = mysqli_num_rows($result); //함수
 for($i=0$i<$rowCount$i++){                //php는 변수 사용할때마다 $를 사용한다.
         $row=mysqli_fetch_array($result, MYSQLI_ASSOC);                   
         //배열로 꺼내올게요  한줄에서 배열[0][1][2][3] 으로 가져옴 
         //배열의 종류가 두개있음. 번호로 구별, 이름으로 구별(=연관배열이라고 한다)
         echo "$row[id] <br/>";
         echo "$<h2>row[name]</h2>";  //h2는 기본 줄바꿈 
         echo "$row[message] <br/>";
         
         echo "<img src='$row[file]'> <br/>";
         
         echo "$row[date] <br/>";
         echo "-------------------------------<br/><br/>";
 }
 
mysqli_close($conn);
 
 
?>
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter