닌자비법서 샘플 예제
https://github.com/wizardbear/hanbit-phpmysql
<?php ~~~ ?> 로 시작
' ' 안에있는 내용을 text로 인식 - 'rand(1,10)' 안에있는것은 함수가 아니라 text로 인식해서 text 그대로 출력
변수는 $로 시작 - $temp
* PHP는 타입에 상관없이 변수에 값을 할당할 수 있고, 이미 할당한 값과 타입이 다른 값을 다시 할당할 수 있다.
주석은 // or /* */ 사용
산술 연산자 + - * /
결합 연산자 . ex) $test = '요 '.'맨'; // '요 맨' 할당
text를 넣을땐 'text' 사용 ex) $var = 'text';
주의! echp '$var1 규칙!' ; // '$var1 규칙!'
echo "$var1 규칙!"; // 'PHP 규칙!'
""는 변수명 부분이 변수에 할당된 값으로 대체된다.
$korean = [ | |
1 => '하나', | |
2 => '둘', | |
3 => '셋', | |
4 => '넷', | |
5 => '다섯', | |
6 => '여섯' | |
]; | |
처럼 index를 참조하여 설정 가능
배열에 숫자 말고 문자열을 index로 설정가능 ex) $birthday['Kevin'] = '1993-01-01'
php내장 함수인 isset()은 특정 변수나 배열에 값이 할당됐는지 알려준다. 할당-참/ 할당x-거짓
form의 action에 속성을 설정하지 않으면 현재 URL로 폼을 전송한다.
ex) form.html.php // 이름 입력하는 form
index.php // 이름에따라 관리자/사용자 구분
작동원리 index.php 실행 -> 아무것도 입력하지 않아 form.html.php가 실행됨
form에서 이름을 입력 -> 해당 URL ~~~~/index.php가 그대로 계속 실행
index.php는 이름에 따라 환영문구 설정
+계속 같은 URL을 유지하면 좋은 점은 즐겨찾기를 하면 항상 같은 URL로 저장되고 다시 접속했을 때 적절한 화면을 볼 수 있다. 폼화면, 환영메세지 어느페이지를 즐겨찾기에 추가하든 사용자가 다시 접속하면 폼이 표시된다.
#GET/POST 방식
name.html <a href="name.php?name=Kevin">안녕, 난 Kevin이야!</a>
htmlspecialchars($name, ENT_QUOTES,'UTF-8') : 사용자가 임의의 코드를 사이트에 주입하지 못하도록 막는 방어장치
<form action="name.php" method="get/post">
<label for="firstname">이름:</label>
<input type="text" name="firstname" id="firstname">
<label for="lastname">성:</label>
<input type="text" name="lastname" id="lastname">
<input type="submit" value="제출"> => 제출을 누르면 action이 실행된다.
</form>
GET은 폼을 전송해도 서버 자원이 변경되지 않을 때 사용한다. 검색 결과 페이지가 이 경우에 해당.
검색어가 URL에 포함되면 사용자는 검색 결과 페이지를 즐겨찾기에 추가할 수 있으며, 검색어를 다시 입력하지 않아도 즐겨찾기를 사용해 결과를 볼 수 있다.
POST는 폼을 전송한 다음 파일이 삭제되거나 데이터가 추가 변경될 때 사용한다. 그렇지 않으면 사용자가 뒤로가기 버튼이나 즐겨찾기로 해당 페이지에 다시 접근했을 때 폼이 다시 제출되어 서버쪽 처리 과정이 중복 수행되기 떄문이다.
html 과 php 의 분리
include 문 ex) include 'count.html.php'; -> count.html.php 가 그대로 실행
(~~~.html.php 는 html이 포함된 php코드 라는 뜻!
#보안고려사항
URL에 직접 php파일을 입력하면 불러 올 수 있다. 보안에 취약함.
예방조치는 include로 가져올 파일을 public이외의 다른 디렉토리에 두면 된다.
1. 절대경로
2. 상대경로
3. __DIR__ : 절대경로를 파악할 수 있는 상수
<?php echo $var' ?> == <?=$var?>
<?= 은 <?php echo를 의미 but 출력만 할 수 있음. 뒤에 조건문X
'인턴일지' 카테고리의 다른 글
회원가입 및 로그인 (0) | 2019.03.04 |
---|---|
mysql 쿼리문 (0) | 2019.02.28 |
MySQL - PHP (0) | 2019.02.21 |
mariaDB (0) | 2019.02.20 |
MySQL 설정 (0) | 2019.02.19 |