PHP의 개념과 특징
PHP는 웹사이트 제작에 특화된 c언어 기반의 서버 언어이다. 동적 웹페이지를 만들어주는 역할을 한다.
클라이언트가 요청하면 서버에서 PHP와 HTML을 조합하여 동적인 웹페이지 만들어서 보낸다.
PHP는 다양한 운영체제와 웹 서버에 지원, 직관적 코드와 코드의 양 적고, 텍스틑 처리 특화된 HTML과 적합한 특징이다.
PHP 기본 문법과 변수
주석은 #,//,/* */ 등 있다.
PHP의 기본 문법
<?php
echo "PHP 테스트";
?>
c언어와 동일하게 마지막에 세미콜론(;)으로 끝난다.
echo 함수는 c언어와 동일하게 HTML 스트림에 문자열을 출력한다.
변수 선언
$변수이름 = 초깃값;
PHP에서는 변수 선언이 앞에 달러($) 기호를 사용한다. 자료형은 따로 명시하지 않고 자동으로 결정된다.
변수는 스크립트 내 어느곳에나 선언할수 있다. 그런데 변수의 유효 범위은 함수 내부와 외부에 따라 달라진다.
<?php
$hello = 1;
echo "함수 밖에서 호출한 전역변수<br>";
function test(){
$var = 10;
echo " var은 함수 내부에서만 접근 가능한 지역변수 {$var}<br>";
global hello;
echo " hello은 함수 내부에서 호출한 전역변수{$hello} <br>";
}
?>
함수 내부에서 선언된 변수는 지역변수이며 함수 내부에서만 접근 가능하다. 함수 호출이 끝나면 메모리에서 제거된다.
함수 외부에서 선언된 변수는 전역변수이며 바로 접근 가능하다. 함수 밖에서 선언된 변수를 함수 내부에서 사용하고 싶으면 global 키워드를 함께 사용해야한다.
함수의 정의와 사용
함수의 구조
<?php
function funcname(%x, %y){
return $x + $y;
}
echo sum(3,4);
?>
c언어와 동일하게 정의한다.
디폴트 매개변수라고 매개변수를 전달하지 않고 기본값을 설정할 수 있다.
function funcname($a, $b = 1, $c = 3)
폼 데이터 처리
HTML의 form 요소에 클라이언트가 입력한 데이터 처리하기위해 PHP 서버 언어를 사용한다.
HTML 예제
<html>
<body>
<form method="post" action="test.php">
Name : <input type ="text" name="name"><br>
Email : <input type ="email" name="email"><br>
<input type="submit" value="제출">
</form>
</body>
</html>
위와 같은 HTML 문성 form 요소를 넣어 이메일과 이름을 적는 예제가 있다.
form 요소 안에 action과 method가 있다. action은 test.php파일에 입력한 데이터를 보내고, method은 HTTP 명시한다.
form 데이터 처리할 test.php
<?php
$nmae = %_POST['name'];
$email = %_POST['email'];
echo " Name : $name , Emial : $email";
?>
HTML에서 받은 폼 데이터는 다음과 같이 php에서 name과 email 변수로 선언하여 출력한다.
데이터베이스와의 연동
<?php
$servername = "localhost";
$dbname = "test";
$user = "testuser";
$password = "1234";
//MYSQL 연결 설정
$con = mysqli_conncect($servername, $user, $password);
//MYSQL서버 연결
mysqli_select_db(%dbname);
//DB과 연결
$name = "Jason";
$email = "hello@example.com";
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
$con->query($sql);
$con->close();
?>
mysqli_connect('hostname', 'user', 'password');을 이용하여 mysql과 연결한다.
query문을 이용하여 mysql의 데이터베이스 값을 조정하면 된다.
그리고 close()로 mysql과 연결 종료한다.
도전
php 설치 후 apache, MySQL과 연결해보기
일단 php 설치를 하려면 다음과 같은 명령어를 사용한다.
sudo apt-get install php libapache2-mod-php php-mysql
이제 아파치를 시작하고 /var/www/html 파일에다 php 파일(info.php)을 만들어서 설치 되었는지 확인한다.
php 파일 내용은 다음과 같다
<?php
phpinfo();
?>
localhost/info.php을 접속해서 다음과 같은 화면이 뜨면 설치가 정상적으로 된 것을 확인할 수 있다.
이제 php와 mysql 연결을 확인해보겠다. php 파일(info.php)을 다음과 같이 수정한다
GET과 POST의 차이점 이해하기
GET | POST | |
데이터 전송 | 쿼리 스트링을 통해 전송 | HTTP 메세지의 Body 담아 전송 |
데이터 길이 | 길이 제한 있음 | 제한이 없음 |
브라우저 히스토리 | 남겨짐 | 남겨지지 않음 |
캐시 | 캐시 O | 캐시 X |
북마크 | x | O |
파일 업로드 방법 이해하기
'web hacking(Knockon Bootcamp)' 카테고리의 다른 글
[3주차 TIL] KnockOn Bootcamp 게시판(게시글) (0) | 2024.12.23 |
---|---|
[3주차 TIL] KnockOn Bootcamp 게시판 만들기(메인화면, 회원가입, 로그인) (0) | 2024.12.23 |
[2주차 TIL] KnockOn Bootcamp MYSQL (0) | 2024.12.16 |
[2주차 TIL] KnockOn Bootcamp Apache (0) | 2024.12.15 |
[2주차 TIL] KnockOn Bootcamp JavaScript (0) | 2024.12.13 |