PHP

안형준·2022년 4월 25일
0

PHP

목록 보기
1/2
post-thumbnail
PHP란? 

웹페이지 제작을 컴퓨터에게 시키는 것이다. PHP를 이용하면 웹페이지를 자동으로 생성할 수 있다. 컨텐츠의 내용을 작성해서 PHP에게 넘기면, PHP는 컨텐츠를 HTML로 자동으로 만들어준다.
php는 어떤 데이터 타입을 지원하는가?

숫자와 문자

그중에 숫자는 integer와 float가 있다.

php는 숫자 연산이 가능하다.

참고로, 코드를 실행시킨 뒤 소스코드 보기를 눌러서 보면, php가 안 보이는데, 이를 통해 php의 모든 코드는 최종적으로 사라지고 html로 바뀌어 남아있음을 알 수 있다.

출력은 2가지 - echo와 print 가 있다.

php에서 문자열을 다루는 방법

작은 따옴표, 큰 따옴표

. 점으로 문자열을 붙일 수 있다.

문자열이 몇 개의 문자로 이루어져 있는지 알게해주는 함수 : strlen

php는 반드시 변수 이름 앞에 $를 붙인다.

변수는 귀찮고 방대한 일(예를 들어 1억개의 단어를 수정해야 할 때)를 한번에 수정할 수 있어 효율적이다.

url 파라미터를 통해 예를들어 안녕하세요 name님 이라는 문장이 있다면, url에 이름을 바꿀때마다 name 값이 변경되어 나오게된다.

안녕하세요. <?php echo $_GET ['name']; ?>님

echo nl2br($str);

를 사용하여 따로 수작업으로 br태그를 사용하지 않고도 자동으로 줄바꿈 시킬 수 있다. 이처럼 함수를 사용하면 좀 더 편리하게 프로그래밍이 가능하다.

조건문, 제어문 등을 통해 단순 무한반복 또는 복잡한 프로그래밍이 훨씬 수월해진다.

expr : expression : 계산식

조건문은

시간의 순서에 따라 코드가 실행되다가 어느 순간 조건에 따라서 서로 다른 시간의 순서를 따라 실행되는 것을 말한다.

조건문의 값으로는 참(true)와 거짓(false)가 들어온다.

isset(변수) : 변수의 값 유무로 true, false 반환

unset(변수) : 변수의 값 지우기

문제해결 : 조건문을 넣기 전에는 id파리미터에 정의된 값이 없어 Undefined index에러가 발생했으나 isset을 통해 파라미터의 유무를 확인하니 에러가 뜨지 않는다.

<?php

if(isset($_GET['id'])){

echo $_GET['id'];

} else

echo "Welcome";

?>

위와같이 작성한다면 $GET id값이 있다면 true가 되어 아래의 값이 출력이 되고, isset이 false (값이 존재하지 않음)라면 Welcome이 출력된다.

반복문이란

시간의 순서에 따라 실행되다가 어떤 조건에 따라서 반복적으로 실행되는 것

정리정돈의 수단으로서 배열을 바라보자

length 구하기 : count($변수명)

키 추가하기 : array_push($변수명, '넣고자하는 값')

scandir()함수

디렉토리 안의 파일목록을 가져올 수 있고 파일의 이름을 배열로 담는다.

PHP에서는 "를 사용하면 문자가 끝나는 신호이므로 그냥 문자라는 것을 알려주기 위해 역슬래쉬" 을 사용한다.

== 좌항과 우항의 값이 같은지 확인 후 true 또는 false를 출력

!= 좌항과 우항의 값이 다른지 확인 후 true 또는 false를 출력

함수를 사용하면 복잡한 코드를 간단하게 만들어주고, 복잡도를 낮출 수 있다.

PHP는 function 뒤에 바로 id값이 온다는 걸 알고있다. 

변수 앞에는 $를 붙인다.

함수 내에서 연산이 끝난 값을 반환하기 위해 return문을 사용한다.

return이 나오면 함수가 종료되고 나머지 코드는 무시된다.

<input type="text" placeholder="title">

<input type="submit">

text는 아이디, 비밀번호 입력하는 모양 / placeholder는 예를들어 로그인 할 때 비밀번호 입력하세요 와 같이 입력박스에 나타나는 문구 / submit은 로그인 버튼과 같이 서버로 보내주기 위한 버튼생성 기능

form은 사용자가 ui를 통해 입력한 값을 form태그의 action속성이 가리키는 url로 웹브라이저로 바꾸면서 url에 적용됨(사용자가 입력한 정보를 url parameter로 만들어냄)

form을 사용할 때 url이 변경되지 않기 위해 $_POST를 사용한다

서버로 데이터를 전송할 때 URL을 통해 전송할때에는 GET방식 / Method를 생략하거나 get을 붙여준다.

하지만 데이터를 수정, 삭제할 때에는 사용하면 안됨 (url이 변경되기 때문에)

redirection 리다이렉션 : 예를들어 사용자가 put_contents를 통해 새로운 웹페이지를 만들 때, 빈 공백 화면이 뜨는데 이럴때 리다이렉션을 적용하여 새로 만드는 웹페이지로 바로 이동하게 만들 수 있음

<?php echo $_GET['id']; ?>
echo 써야되는 경우에는 php와 echo를 =로 바꾸고, ;을 지우면 <?=$_GET['id'] 똑같은 의미가 된다.

CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말이다.

require_once('lib/print.php');
위와 같이 require를 사용하여 중복되는 부분을 제거해줄 수 있다. 단, 동일한 함수가 중복되어 오류가 발생할 수 있기에 _once를 붙여쓰는 것이 정신건강?에 좋을 것이다.

echo htmlspecialchars($_GET['id']);
위와같이 htmlspecialchars를 사용하면 누군가가 악의적으로 예를들어 다른 웹페이지로 강제로 이동하게 하는 등의 악의적 행동을 막아주고, 사용된 코드를 그대로 화면에 보여준다.

.basement()를 통해 다양한 해킹, 검사기능을 이용한 보안 침해등을 어느정도 예방할 수 있다.
profile
개발 공부

0개의 댓글