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
댓글 없음:
참고: 블로그의 회원만 댓글을 작성할 수 있습니다.