PHP-MySQL 연동하여 원하는 웹 만들기

학교에서 진행하는 capston 대회 중 웹, 데이터베이스가 필요할 것 같아서 생활코딩 사이트를 통해 공부해 보았다. 

생활코딩site : https://opentutorials.org/course/1

웹에서 사용자에게 입력받은 것들을 MySQL 이라는 데이터베이스에 저장하여 관리하고

그것을 이용해 보는 것을 매우 간단하게 해 보았다.

아파치 라는 웹 서버 프로그램을 사용 했고 MySQL , PHP 를 이용해서 만들어 보았다.

WAMP를 다운로드 하여 Apache, MySQL, PHP 를 한 번에 다운로드 할 수 있었고 그에 따라서 진행하였다.

https://seopseop911.tistory.com/27 Windows에 WAMP 실행, 설치방법WAMP 란? Windows Apache MySQL PHP 의 약자로 윈도우에서 3가지를 한 번에 설치하는 모듈을 뜻 함 우선 아래의 사이트에 접속. https://bitnami.com/stack/wamp/installer Install WAMP, Download WAMP show M..seopseop911.tistory.com

우선 MySQL에서 데이터베이스와 TABLE을 짠다.

학교 capston 대회에 참가하게 돼 DATABASE의 이름을 capston 이라 지음.

mysql> CREATE DAtABASE capston;
mysql> use capston;
mysql> create table topic(    -> id int(11) not null AUTO_INCREMENt primary key,    -> stNUM int(11) null,    -> name varchar(30) null,    -> temperature decimal(7,2) null,    -> created DATETIME NOT NULL);

id 값은 자동적으로 증가 하도록, 

stNUM은 사용자입력 값이기에 NULL

name은 사용자입력 값이기에 NULL

temperature은 소숫점이 가능하기에 형식을 decimal(7,2) 로 하였고 NULL

created는 자동적으로 시간을 체크하여 표기해 주도록 하였다.

아래의 사진은 만들어진 topic 이라는 table의 형식이다.

Database에 값을 insert하는 것은 웹에서 할 것이다.

< create.php >

<?php$conn = mysqli_connect(  'localhost', // 주소  '사용자ID',  '비밀번호',  'capston'); // 데이터베이스 이름$sql = "SELECT * FROM topic";$result = mysqli_query($conn, $sql);?><!doctype html><html>  <head>    <meta charset="utf-8">    <title>WEB</title>  </head>  <body>    <h1>Hoseo University</h1>    <h3> 당신의 학번, 이름, 체온을 입력하세요. </h3>    <form action="process_create.php" method="POST">      <p><input type="text" name="stNUM" placeholder="학번 (ex)20161712"></p>      <p><input type="text" name="name" placeholder="이름 (ex)홍길동"></p>      <p><input type="text" name="temperature" placeholder="체온 (ex)36.5"></p>      <p><input type="submit"></p>    </form>  </body></html>

< process_create.php >

<?php$conn = mysqli_connect(  'localhost',  '사용자ID',  '비밀번호',  'capston');  # title, description 이라는 사용자가 입력한 정보를 그대로 php에 입력하는 행위는 보안에 취약, 따라서 관리 필요  $filtered = array(    'stNUM'=>mysqli_real_escape_string($conn, $_POST['stNUM']),    'name'=>mysqli_real_escape_string($conn, $_POST['name']),    'temperature'=>mysqli_real_escape_string($conn, $_POST['temperature'])  );$sql = "  INSERT INTO topic    (stNUM, name, temperature, created)    VALUES(      '{$filtered['stNUM']}',      '{$filtered['name']}',      '{$filtered['temperature']}',        NOW()    )";$result = mysqli_query($conn, $sql);if($result === false){  echo '저장하는 과정에서 문제가 생겼습니다. 관리자에게 문의해주세요';  error_log(mysqli_error($conn));} else {  echo '성공했습니다. <a href="create.php">돌아가기</a>';}?>

위와 같이 코드를 짜서 접속해 보면 아래와 같이 웹이 만들어 진다.

https://seopseop911.tistory.com/28

댓글 없음:

참고: 블로그의 회원만 댓글을 작성할 수 있습니다.

Powered by Blogger.