PHP + MYSQL로 간단한 홈페이지만들어보기

HOHO·2023년 4월 4일

#MYSQL

목록 보기
17/17

인프런 DB무료강의로 시작하게 되었다!
IDE는 구름 클라우드 IDE를 사용
PHP가 목적이 아니라 DB의 데이터를 받아서 보여주는 형식의 실습이다.

터미널에서 php와 mysql을 연결시켜주는 명령어 - 패키지 다운로드
sudo apt-get install php7.3-mysql

php는 쉽지만 보안에 취약하다고 한다

DB연결

<body>
	<h1>Hello PHP and MYSQL</h1>
	<?php
		$conn = mysqli_connect("localhost", "root", "1234", "sample");
		$sql = "SELECT * FROM test";
		$result = mysqli_query($conn, $sql);
		//$conn -> 접속환경, $sql-> 던질쿼리문 $result -> 받아올 결과
		while($row = mysqli_fetch_array($result)) {
			//null값이 나올때까지 라인을 하나씩 가져온다
		  echo "<li>{$row['id']} - {$row['title']}</li>";
		}
		?>
</body>

검색창 만들기

<body>
	<h1>Hello PHP and MYSQL</h1>
	<h1>검색</h1>
	<form action="index.php" method="get">
      <input type="search" name="search">
	    <input type="submit" value="Submit">
  </form>
	<?php
		$conn = mysqli_connect("localhost", "root", "1234", "sample");
		$sql = "SELECT * FROM test where description like '%".$_GET["search"]."%'";
		echo $sql; //일반 문자로출력
		$result = mysqli_query($conn, $sql);
		echo "<table class='table table-dark'>";
		echo "<tr><th>ID</th><th>Title</th><th>Description</th></tr>";
		while($row = mysqli_fetch_array($result)) {
		  echo "<tr><td>{$row['id']}</td><td>{$row['title']}</td>
          <td>{$row['description']}</td></tr>";
		}
		echo "</table>";
		
		?>
</body>

<form>으로 감싼 검색창과 submit input 을 만들어주고
sql문에서

'%".$_GET["search"]."%' -> 양쪽의 .(콤마)가 문자열을 연결
폼에서 input name="search" 값을 $_GET["search"]에 대입

그리고 $row를 사용해서 테이블에 id/title/description값을 DB에서 가져와 하나씩 넣어준다

실행화면

검색화면/주소

https://php-mysql-xkjze.run.goorm.site/index.php?search=css

index.php파일의 search=css 값으로 주소이동
GET방식으로 전송했기때문에 주소가 표시된다

로그인 화면 간단하게 만들기

<h1>로그인</h1>
	<form action="logIn.php" method="get">
      <input type="text" name="id">
      <input type="password" name="password">
      <input type="submit" value="Submit">
    </form>

logIn.php

<!DOCTYPE html>
<html>
<head>
  <title>로그인 페이지</title>
</head>
<body>
  <p>ID: <?php echo $_GET["id"]; ?></p>
  <p>Password: <?php echo $_GET["password"]; ?></p>
</body>
</html>

method="get"으로 페이지가 넘어가는 것과 내가 입력한 값들이 전달되는지 보자

name="id"echo $_GET["id"];의 id를 일치시켜주고 마찬가지로
name="password" echo $_GET["password"]; password를 일치시킨다!

id를 aaaa, password를 1234로 입력

실행결과/주소

https://php-mysql-xkjze.run.goorm.site/logIn.php?id=aaaa&password=1234

logIn.php페이지로 잘넘어 갔고 일치시켜준 값들이 출력 되었다
주소값도 잘 표시되었다


method="post" 결과

https://php-mysql-xkjze.run.goorm.site/logIn.php

출력페이지에 값이 출력이 안되는건 원래그런가? 주소는 맞는데.. 한번 알아봐야겠다


profile
기계 그잡채가 되고싶다

0개의 댓글