>> DOUG 로이드 : 그렇게 우리의 PHP 구문에 대한 비디오,
우리는 어떻게 PHP에 대해 많은 이야기 명령 줄에서 사용할 수 있습니다
하는 방식으로 프로그램을 실행하기 위해 그 우리는 C.에서 꽤 익숙
그러나 나는 또한 언급 한 바와 같이 그 비디오, PHP에서
초기에 개발 된 웹 사이트를 웹 프로그래밍을 구현합니다.
그래서이 비디오에서 우리는있어 우리는 방법에 대해 이야기 할 것
웹 개발 환경에서 PHP를 사용합니다.
>> 우리는에서, 이미, 알고 HTML에 우리의 비디오,
웹 사이트가 구축되어 HTML 태그의 집합 중
그 의미를 정의 웹 페이지의 구조.
그러나 웹 사이트는있다 순수 HTML로 구축
매우 고통, 매우 심각한 제한.
>> 그리고이 제한을 설명하기 위해, 의는 다음 사항을 고려하자.
그래서 지금은 웹 페이지를 구축하고자하는 즉, 때마다 사용자가 방문하는 그것,
그것은 나에게 전류를 제공합니다 매사추세츠 주 캠브리지에있는 시간.,
최신 분으로 디스플레이하는 단계를 포함한다.
지금이 권리를 만드는 경우, 나는 이런 식으로 뭔가를 말할 수 있습니다.
나는 그래서 Cambridge--의 현재 시간 HTML 태그, 머리 태그, 제목 태그,
몸은 전류를 tags-- 캠브리지 시간, 14시 8분입니다
군사 시간을 인쇄.
>> 어떻게 지금 오후 2시 9분, 14시 9분 있다면 어떻게됩니까?
그럼 지금까지, HTML을, 내가 가진 가서 14시 9분로 변경합니다.
그리고 일분 후, 나는 다시 변경해야합니다.
당신이 상상할 수 있듯이, 그건 이제까지 아마 최악의 작업.
당신은 웹 페이지의 웹 마스터, 모든 분, 하루 24 시간,
다음과 같은 방법으로 현재 시간을 업데이트해야 수동 time.html를 열고 변경
코드의 단지 조각은 대답 시간과 분의 현재 시간.
즉, 매우 아마 아니다 우리의 자원을 잘 활용,
인간과 전산 모두.
>> 모든 HTML있는 웹 사이트 완전히 정적입니다.
업데이트 할 수있는 유일한 방법 콘텐츠, 우리가 보았 듯이,
수동으로 그 소스를 열 수 있습니다 파일, 편집하고, 저장할 수 있습니다.
그리고 그 때 사용자 페이지를 새로 고침,
또는 제 1 페이지에 대해 방문 시간, 그들은 최신 콘텐츠를 얻을 수 있습니다.
그러나 우리는했습니다 때문 수동으로 편집했다.
>> 우리가 거​​기에 약간의 PHP를 혼합하기 시작하면, 우리의 코드는 훨씬 더 유연하게 얻을 수 있습니다.
그리고 우리는 우리의 페이지 수있는 방법을 가질 수있다 동적, 또는 자신을 업데이트하려면
우리의 가난한 사람들을 필요로하지 않고 앞의 예에서 웹 마스터
일을 업데이트 수동으로합니다.
그들은 자동으로 작업을 수행 할 수 있습니다.
우리는 개입 할 필요가 없습니다.
우리는 잠을 얻을 수 있습니다.
어느 아마 좋은 일 경우입니다 당신은 웹 프로그래밍을 많이하고 있어요.
>> CS50 IDE에서 그래서, 우리가 실행 웹 서버는 아파치했다.
또한, 매우 일반적으로 사용되는 오픈 소스 웹 서버 시스템.
이 시스템은있다 용량은 해석하기
경우에 유용 할 것입니다 PHP, 당신은 어떤 PHP 프로그래밍을 수행 할 수 있습니다.
>> 그리고 CS50의 IDE에서, 우리는 명령을 할이 매우 쉽게 만들기 위해,
시작 apache50.
그리고 그 슬래시 경로, 슬래시를 슬래시
DIR, 그건 단지 정말 일반적인 방법 당신이 여기에서 지정한 것을 나타내는
특정 경로는 디렉토리 당신에게
루트가되고 싶어요 사이트 또는 루트 페이지,
폴더 나되는 웹 서버에서 파일을 검사하고 봉사하기 시작합니다
을 요청하는 클라이언트에 최대.
그래서 그냥에, CS50 IDE까지 팝하자 이것이 어떻게 작동하는지, 정말 빠르고을 보여줍니다.
>> 그래서 여기 CS50의 IDE에서, 나는에있어 주 제로 나인라는 디렉토리.
내가 가진 two-- 그리고이 그냥 ls 명령 실행
위의 내가 가지고 있음을 보여 여기에 두 개의 디렉토리, PHP,
나는에 사용되는 파일의 세트는이다 PHP 구문 비디오, 다음 PHP - 웹,
파일 세트는하다 나는 이 비디오에 사용하고 싶습니다.
>> 내가 시작하고 싶습니다 웹 서버 인스턴스
PHP가 웹 폴더의 내용 파일까지 제공되고있다.
그래서 내가 할 일입니까?
나는 apache50 공백을 입력하는 것 시작 공간 PHP, 대시 웹.
즉, 디렉토리에 대한 경로입니다 나는 현재 나는 곳에서.
그럼 Enter 키를 누르십시오.
그것은 할 것 여기 물건의 약간.
그리고 그것은 말할 것 아파치가 성공적으로 시작했다.
귀하의 사이트가 at-- 사용할 수 있습니다 및 다음 사이트의 URL이있다.
그래서 내가 할 일입니까?
나는 빨리이 복사거야.
내가 up-- 열거야 및 나는 조금 축소합니다 here--
나는 열거야 크롬에서 새 탭.
그리고 그 URL을 방문거야.
>> 나는 Enter 키를 누르거야.
그것은로드 할 것입니다.
그리고 나는 다시 축소합니다.
그리고 우리는 여기입니다 볼 수 있습니다 내 PHP 웹 디렉토리의 내용을 표시합니다.
>> 이제 기본적으로 무슨 일이 일어나고 있는지 여기 CS50 IDE 내 인스턴스이다
이 파일을 제공하고있다 을 요청하는 사람.
그리고의 과정을 통해 이 비디오는, 우리는 종류의 것이다
이들의 무리를 살펴 맥락에서 다른 파일.
>> 아파치하는지 테스트하려면 서버가 작동하고,
일반적으로 어느 것입니다 CS50 IDE의 경우가 될,
하지만 당신은 더 일반적으로이 작업을 수행 할 경우, 당신은 당신의 자신의 웹을 구축 시작
서버, 정말이있다 아날로그의 일반적인 종류,
일반적으로 "안녕하세요" PHP 웹 개발에 사용.
파일을 가지고있는 그냥이 code-- 구성
PHP 정보 설정 PHP 분리, 괄호 사이에 세미콜론.
어떤 기본적으로 특별한 을 알려줍니다 PHP 함수
PHP의 버전 당신은 실행하고 있습니다.
>> 그래서 CS50 IDE에서, 나는이 가능한 해당 파일 만
이 어떻게 보이는지를 표시합니다.
그래서 난 내 인덱스를 찾고 있어요 내 PHP 인스턴스에서.
내 아파치 인스턴스가 실행 중입니다 PHP가 웹의 내용.
그리고 파일이 여기에 info.php라고합니다.
>> 나는 그것을 클릭 축소거야.
이것은 당신이 가고있는 것입니다 꽤 많이 볼 수 있습니다.
이것은 단지 나에게 말하고있다 내 아파치 서버가 작동된다.
그리고 이것은 명백하게이다 PHP의 버전은 내가 실행 해요 그.
이것은 내 아날로그입니다 "안녕하세요."
>> 그래서 나는 일이 운영 알고있다.
그래서 우리는 갈 수 있어요.
우리는 여기에서 진행할 수 있습니다.
>> 그래서 그걸 다시 방문하자 시간의 예를 우리는 있었다
우리의 가난한 웹 마스터와 이야기 사람은 끊임없이 페이지를 업데이트했다.
이 방법에 대한 수정 될 수 있습니다 나는 물건을 구현하는 것이
그래서 웹 마스터는하지 않았다 시간을 계속 업데이트해야합니다.
그것은 하듯 종류의 자동으로 일어난다.
>> 아래 아래로, HTML, 그것은이다 한 가지 예외, 매우 유사한.
그러나 여기에서 나는 상단에 약간의 PHP를 가지고있다.
나는 분명히,이를 불렀다 기능 date_default_timezone_set.
>> 그리고 우리에 대한 모든 얘기하지 마세요 CS50에 이러한 기능,
PHP는 아마이 때문에 수만.
즉, 약간의 수 있습니다 과장,하지만하지 않을 수 있습니다.
그것은 내장 된 기능을 많이 가지고있다.
그리고이 기능은 분명히있다 미국 / 동부 내 시간대를 설정하고,
어떤 난 시간대입니다 현재이 비디오를 만드는.
>> 그럼 난에 전화를 걸 기능은 날짜,라고.
그리고, 분명히, 내가 저장 해요 HIS라는 것을, 시간.
그래서 여기 일이야?
>> 음, 기본적으로 무슨이다 되는 일이, 내가 전화를 만들고있어
가는 일부 서버에 시간이 현재 무엇을 말해.
그리고 나는 형식으로 변환하고있어 시간, 분, 초.
상기 이유는 자본 H 이것을가요 나에게 (12)을 24 시간 시간을하지 줄 것입니다
소문자 시간이 될 것입니다 시간의 시간.
그리고 난 그냥 저장 해요 라는 변수, 시간.
그 그래서 PHP와의 두 번째 라인 이 함수를 호출,
날짜, 그냥지고 일부 문자열,
나에게 일을 줄 것, 그리고 시간 및 기타 정보의 무리.
그리고이 첫 번째 인수, 그의 그, 단지 중요한 부분을 추출한다
나는이 예를 들어 신경 것으로, 이는 시간, 분 및 초이다.
그래서 무슨 일이 전부입니다.
그래서 저장 변수 $ 시간에 그.
그리고 아래에서 이 맨 아래, 나는
에 대한 그 속기를 현재 시간을 출력하기.
그래서 난 그냥 인쇄 할거야 현재 시간은 무엇 밖으로.
>> 그럼이 살펴 보자 CS50의 IDE와 우리가 지금이야 어떻게 볼
그 웹 마스터에게 문제를 많이 절약.
좋아, 그래서 여기에 나는 다시 생각 다시 루트 디렉토리에
내 아파치 인스턴스.
그리고 여기라는 파일 time.php 있습니다.
난 그냥 클릭거야.
그리고 나는 때문에, 스크롤합니다 우리는 꽤까지 확대하고있다.
현재 시간은 14시 20분 34초입니다.
그래서, 그것을 시간을하고 있어요 분, 초.
그리고 난을 새로 고칠 수 있습니다 페이지와 새로운 시각을 얻을.
--41.
나는 페이지를 새로 고침거야 새로운 시간, 44, 46, 47를 얻을.
>> 그래서, 난 분명하지 않다 무엇이든 나 자신을 변경.
여기 페이지를 새로 고침하고 있습니다.
그래서 편집을 다시있을 수 없습니다.
그리고 내가 당신을 약속, 내가하지 어떤 동맹이
누가 파일을 편집 측면에 내 대신.
>> 난 그냥 그 PHP 함수를 사용하고 있습니다 시간은 나를 위해 시간을 생성하는
자동.
내가 잠 들어있어 경우에도 것을, 그래서 내 웹 서버가 실행되고,
페이지가 여전히 있음을 방문하는 사용자 정확하게 현재 시간을 얻을 것.
그래서 꽤 좋다.
내 사이트가 더 역동적했습니다 너무 많이 PHP 코드.
그것은 코드의 두 라인을 한 후, 인쇄 문을 조금.
그리고 이미 나는이 훨씬 더 동적 사이트
첫 번째 예보다 우리는 보았다 비디오의 시작.
>> 그래서, PHP 구문에 대한 비디오에서 기억 PHP 인터프리터가 실행될 때
우리의 프로그램은,이 모든 것을 무시 즉, PHP 구분 기호 안에 아니다
그것을 밖으로 뱉어.
이 예에서, 무슨 일이 이 밖으로 침 것을 HTML이었다.
그리고 이것은 내가 지금 할 수 있음을 의미 함께 HTML과 PHP를 산재.
인터프리터가 단지 때문에 HTML과 그것을 그대로 출력을 무시합니다.
어떤 바로, 좋은?
>> 아마도 때문에 하루의 끝에서,
나는 내 사이트를 싶습니다 HTML로 구성된다.
모든 웹 브라우저가 해석 할 수 있도록 그것은, 또는 페이지의 HTML 이해
뭔가로 렌더링하는 우리 실제로 인간으로 이해할 수있다.
그리고 난 단지 PHP를 사용할 수 있습니다 내 사이트의 부품
저를 필요로하는, 역 동성을 필요로 지속적으로 업데이트 할 일을해야합니다.
정적 정보 동일하게 유지 할 수 있습니다.
>> 좋아, 그래서 괜찮아요.
그러나 나는이 왜 할 것?
이유는 HTML과 PHP를 혼합까요?
난 그냥 인쇄 할 수있는 모든 HTML, PHP는 인쇄 기능을 사용하여.
내가 왜 그 일을하고 있지 않다?
잠시 생각해.
>> 왜, 난 그냥 out-- 인쇄 할 수있을 때 단지 말을 PHP의 라인을 가질 수있다,
인쇄 HTML 태그, 프린트 헤드.
내가 왜 그 일을하고 있지 않다?
이유는 PHP와 HTML을 혼합 무엇입니까?
>> 글쎄, 당신이 생각하는 경우 초 그것에 대해.
PHP는, 인터프리터가 그것이 무엇을보고 해석하는.
그리고 그것은있을 것 코드 줄을 실행합니다.
HTML을 인쇄 할 수 있습니다.
오픈 헤드 태그를 인쇄 할 수 있습니다.
열린 제목 태그를 인쇄 할 수 있습니다.
그것은에있는 것 실행 및 해석
방법의 모든 단일 단계가.
단지 못하게하는 이유 인터프리터는 그냥 광택
이해할 수없는 일 그것은 자동으로합니까?
그것은 나에게 많은 시간을 절약 할 것 함께 내 HTML과 내 PHP를 혼합합니다.
>> 우리가하지 않는 이유 그리고 그건 열어 PHP의 구분이
다음 단지 전체를 인쇄 하나의 거대한 PHP와 같은 우리의 페이지의 내용
다음 기능, 인쇄를 호출하고 가까운 PHP 분리 우리는 완료.
우리가 함께 그들을 혼합 이유 그래서입니다.
>> 지금까지 우리는 너무 많이 보지 못했다 일반 PHP 구문에서 차이.
그것은 매우 간단이었다.
우리는 이미 본 적이 물음표, 동일.
우리는 새로운 함수 호출의 몇 가지를 보았다 하지만 정말 멋진 아무 일도하지 않습니다.
의 아마 일을 만들어 보자 조금 애호가.
우리는 정보를 전달하려는 경우 다른 PHP 파일 사이,
그래서 아마 사용자가 할 수있는 나에게 정보를 제출합니다.
그리고 내가 뭔가를 할 수 그것은 다른 페이지에와.
>> 그래서 PHP에 대한 지원을하고 뭔가 슈퍼 지구라는
꽤 멋진 소리가 변수.
그들은 정말이야 거대한 연관 배열
즉,이를 구현하는 데 도움이 전달의 기능
PHP 파일 사이에 정보가 우리의 웹 서버에 존재하고 있습니다.
>> 이 슈퍼의 첫 번째 전역는 $ _GET이라고합니다.
그리고 그것은 아마이다 이해하는 것이 가장 간단합니다.
무슨 일이 $ _GET과됩니까?
그래서, 기본적으로, 사용자는 추가 정보를 입력 할 것
우리의 URL의 끝에.
그리고 그들은 입력 무엇이든, 가정 이것은 특정 방식으로 포맷있어
다만, 이는 쿼리 문자열이라고 키 값 쌍을 분리
앰퍼샌드로.
그 키 값 쌍은 될 것입니다 $ _GET 연관 배열에 저장된다.
그리고에 우리의 비디오에서 PHP 문법, 우리는 알고있다
어떻게 작동하는 방법 이미 연관 배열.
그래서 여기의 예입니다 어쩌면 난 일부 PHP,
키 값 쌍 모두를 추출 URL에 제공된 사용자가.
그래서 난 내 오픈 PHP 구분 기호를 가지고있다.
나는 foreach 루프가있다.
나는 슈퍼에 걸쳐 반복 해요 글로벌 배열 $ _GET을했다.
>> 그리고 참조 할 수 있도록하려면 키 값 모두.
그리고 난 그냥 인쇄 해요 밖으로, 각 하나 분명히
여기에 자신의 단락 태그입니다.
나는 약간의 HTML을 인쇄하고 있습니다 및 값들을 보간
그 문에 키와 값의.
>> 그럼 방법이 살펴 보자 실제로 우리의 IDE에 작동합니다.
그리고 어쩌면이 도움이 될 것입니다 조금 설명
무엇을 얻을 실제로하고있다.
그래서 내가 다시 여기 내 웹 루트입니다.
그리고 확대합니다 조금 당신을 보여
나는라는 파일, get1.php이 있는지 확인하십시오.
>> 그럼 get1.php 클릭 할 수 있습니다.
그리고 어떤 내용을 확인할 수 없습니다.
그건 바로, 이상해?
음, 정말 사실.
내가 제공하지 않았기 때문에 URL에 아무것도.
나는 get1.php 것,하지만 난거야 임의의 키 값 쌍을 제공하지 않았다
내 쿼리 문자열의 일부로.
그럼 쿼리 문자열을 추가 할 수 이 파일이 무엇을 할 수 있는지.
>> 쿼리 문자열을 시작하는 방법 그냥 물음표를 입력합니다.
그리고 어쩌면 내가 이름 = 더그 & 년 = 2015 말할 것이다.
그리고 나는 Enter 키를 누르됩니다.
지금 무슨 일이 일어나고 있는지 알 수 있습니다.
나는 get1.php 아직입니다.
하지만 지금은 공급했다 키 값 쌍은, 내가 해요
자신에 그들을 밖으로 인쇄 paragraph-- 이름, Doug-- 년, 2015.
즉 정확하게 코드의 우리 단지 잠시 전에 슬라이드에 보았다.
>> 그리고 어쩌면 다른를 추가 할 경우 키 값 쌍, 클래스 = CS50.
지금은 다른 키 값이 인쇄 무타 페어
때 나는 URL을 다시 방문.
이제 어쩌면이 아니다 정말 잘 포맷.
그래서 get.php의 다른 버전이있다.
그것은 get2.php입니다.
>> 이 차이 하나는 내가 CSS 파일을 가지고있다,
그것은 사물의 형식을 더 잘 나를 위해 조금.
그것은 어쩌면 가장 아니에요 세계에서 아름다운 CSS.
하지만 그것을하는 또 다른 방법입니다.
그래서 나는 여전히 액세스 할 수 있습니다 $의 _GET을 사용하여 내 변수.
이 경우, 그냥 가지 해요 CSS는 좀 더 멋진 만들기.
그리고 우리는까지 팝업 경우 두 번째 내 IDE,
내 PHP 웹에서 당신을 보여 드리죠 여기 디렉토리, get2.php.
우리는 여기에 일부 HTML을 그것을 열 수 있습니다.
분명히 그에 연결 해요 나는에 대해 얘기했다 CSS 파일.
나는 테이블 태그를 엽니 다.
그리고 여기 내 foreach 루프입니다.
>> 여기, 즉 내가 이전 슬라이드를 보여 주었다.
유일한 차이점은 내가있다 이 키와 값의 CSS를
나는 그것을 적용하고있어 스타일링.
그러나 그것은, 내가 뭘 모든 난가요 $ _GET에 걸쳐 반복하면 모든 얻을 수
키 값 쌍.
>> 그리고 테이블로 그들을 밖으로 인쇄하고 있습니다.
그리고, 분명히, 나는 키가 서식하고있어 하나의 방법으로, <TD 클래스 = "키"와.
그래서 분명히 그 일부에 적용 내 CSS 파일 GET.CSS의 클래스 선택.
그리고, 분명히, 나는 밖으로 인쇄하고 있습니다 내 값 완전히 다른 방법.
어느 꽤 많이 있습니다 우리는 여기에, 어디에서 본 것을
우리의 가치를 인쇄했다 파란색 배경,
우리의 키가 인쇄 된 노란색 배경.
내가 갖는 방법 그래서이다 그 다른 스타일.
내가 다른 CSS 클래스를 사용하고 있기 때문에.
하지만 꽤 많이 GET에 대한합니다.
마찬가지로 난 그냥 정보를 추출하고있다.
이 경우, 그냥 해요 화면에의 출력.
나는 URL에서 그것을 받고 있어요 그것은 GET 우리를 위해 무엇이다.
>> 당신은 수를 볼 수 있나요 문제는 여기에 비록?
왜 어쩌면 우리 것 $ _GET을 사용하지?
어떤 경우에, 어쩌면,이 쿼리를 만들고 있었다?
--to get3.php, 어느 나는 내 IDE에 필요가 없습니다.
그냥 가상 파일입니다.
그러나 분명히 여기에 주목 내 암호를 전달합니다.
그리고 어쩌면 내 비밀번호는 당황.
아니면 내가 사람을 원하지 않는다 비밀번호 오른쪽 무엇인지.
>> 내가 사용하고 있다면 그것을 though-- 통과하고있어 경우 $ _GET 방법입니다 무슨 일이
즉, URL에있을거야.
그래서 일부 악의적 인 사용자가 수도 내가 뭘하는지 볼 수 있습니다.
나는 그들을 통과 할 수있다 민감한 정보.
아니면 심지어 악의적 인 사용자가 아니다.
아마 당신의 친구 누구 당신의 어깨 위에 서있다.
그리고 이제 그들은 암호를 알고 당신의 페이스 북 계정에.
>> 그리고 어쩌면 그들은 않을 것 그것으로 아무것도 할.
그러나 암호가 있다면 페이스 북에 $ _GET을 통해 제출,
지금은 페이스 북의 암호를 알고있다.
이 URL에 바로 거기에 있기 때문에 당신이 정보를 제출했던 때.
>> 그래서 아마 그 최고의 아니다 방법은 민감한 정보를 전달합니다.
이 정보를 전달하는 좋은 방법입니다 우리는 특별히하지 않는 것이
너무 민감하다고 걱정.
GET은 꽤 빨리이기 때문에, 다른 슈퍼 전역에 대하여
우리에 대해 이야기하는 것입니다.
그러나 아마 가장 좋은 도구 민감한 정보를 얻을 수 있습니다.
>> 이를 위해 우리는에 할 수 있습니다 , $ _POST라는 것을 사용
이는 다른 슈퍼 글로벌 변수입니다.
그것은 다른 연관 배열입니다.
그래서 거의 작동 GET와 완전히 동일합니다.
를 제외하고, 대신 추출 URL에서 정보,
그것은 HTTP 헤더를 통해 뭔가를한다.
그래서에서 불러 우리의 HTTP 비디오, 우리는 이야기
어떻게 브라우저, 서버에 대한, 와 클라이언트가 통신 할 수 있습니다.
그리고 정보를 다시 전달된다 앞뒤로 HTTP 헤더에.
>> $ _POST으로, 정보는 전형적 그 HTTP 헤더를 통해 전송.
그리고 우리는 가장 일반적으로 $ _POST를 볼 수 있습니다 HTML 양식을 제출하는 상황.
당신은 여전히​​ HTML 양식을 사용할 수 있습니다 GET 물건을 제출.
그러나 그들은 일반적으로 사용하고 POST의 맥락에서.
>> 그래서 여기에 HTML 양식의 예입니다.
이제 우리는 전에이를 본 적이 있지만 우리는이 이 부분, 행동 = "post.php"를 보지.
그래서 우리는의 형태에 대해 이야기 할 때 HTML의 문맥, 내가 제출 버튼을했다.
그리고 기억, 내가 제출을 클릭 것 다음 페이지가 그냥 갱신
아무 짓도 안 했어요.
>> 이 경우, 내가 제출 있어요 나는이 양식에 입력 한대로,
post.php라는 PHP 파일.
그리고, 분명히, 방법은 그 일을 해요 이 형태 POST 방법을 사용한다.
정보 그래서 모든 조각 나는이 양식에 입력하는 것이
제출됩니다 HTTP 헤더를 통해.
>> 그것은 post.php에 액세스 할 수 있습니다 즉, 내 양식의 작용이기 때문에.
그것은 액세스 할 수 있습니다 $ _POST로 이동하여.
그리고 분명히, 방법은 내가 할 수있는 각각의 요소에서 얻을
그 연관 배열과 이 속성입니다,
우리의 입력 태그의 이름 속성.
>> 그래서 분명히 내가 광장 $ _POST를 말할 수있다 브래킷은 어떤 사용자를 얻기 위해 이름을
첫 번째 필드에 입력.
그리고 $ _POST 암호의 PW 아니라, 사용자가 입력 무엇이든 얻을 수 있습니다
두 번째 필드에.
>> 그럼 살펴 보자 CS50의 IDE에서이 이상.
그래서 여기에 우리는, 나는거야 초 확대합니다.
그리고 우리는 post.html라는 파일이 있습니다.
나는 post.html을 클릭합니다.
내가 가지고 여기에 맨 위에 매우 간단한 웹 양식.
우리가 방금 본 양식의 두 번째 전 슬라이드.
>> 나는 덕을 입력 할 수 있습니다, 내가 할 수있는 내 비밀번호, 우리 모두를 입력
알고는 squadgoals입니다.
그리고 제출을 명중 할 것이다.
그리고 분명히, 그 post.php에 제출합니다.
그리고 나는 분명히 그 인쇄하고 있습니다.
그래서 나는 모든 보안 치우는거야 POST는 그냥 인쇄하여 저를 준다
사용자 이름과 암호를 입력합니다.
>> 사용자의 이름은 덕이다.
사용자의 암호는 squadgoals입니다.
어떻게 이런 짓을 한거야?
음, IDE까지 팝 다시 초.
우리는 걸릴 아래로 스크롤합니다 했다 post.php 봐,
내가 사용하는 작업은 여기에 제출.
그건 내 HTML 양식의 작용했다.
그리고 그것은 내가 뭘 전부.
사용자의 이름이고, 나는 인쇄 해요 $ _POST "이름"의 내용을 밖으로.
그리고 사용자의 암호 $ _POST "암호"입니다.
그래서 나는 그 정보를 제공 한 HTML 양식을 작성하여.
그리고 지금은 $의 _POST를 사용하여 추출 할 수 있습니다 I가 전송하는데 사용되는 방법 때문에
그 형태와 데이터는 POST 방식이었다.
>> 지금은 아마 아니다 내가 갈거야 그래서 great--
잠시 돌아갑니다 우리의 세트 here--에
내가 경우 그것은 아마 그렇게 큰 아니에요 POST와 정보를 제출,
이는 표면 상 더 안전합니다.
그것은 아마 그렇게 큰 아니에요 내가 그 일을하고 있어요 경우
사용자의 암호를 인쇄.
그것은 더 안전해야하는데.
>> 확인을하지만, 완전히 안전하지 않습니다.
그리고이 조금에 내가 원하는 여기에 스 니펫
그냥 당신의 관심을 끌기 위해 데이터 보안 문제, 뭔가
당신이있는 한 생각합니다 작업이나 인터넷을 이용.
이 고려해야 할 뭔가입니다.
>> 나는 정보가 있음을 이야기 HTTP 헤더를 통해 제출
당신은 POST 메서드를 사용하는 경우.
그들이 완전히 안전하지 않은 것을 의미한다.
그들은보다 찾기가 어려운 것 여기서, GET 방법을 이용하여
이 URL에 바로 있습니다.
그러나 그것을 찾을 수있는 방법이 여전히있다.
그리고 난 그냥 보여주고 싶은 당신이 그래서 당신이 아마
이것에 대해 생각하기 시작 당신이 작업, 또는 사용하는 등
웹 사이트 및 제출 암호 및 아마 사용
에 같은 암호 다른 장소의 많은.
즉 알고 여전히 꽤있다 누군가의 비밀을 쉽게 찾을 수.
>> 그리고 여기, 내가 갈거야 post2.html로 이동합니다.
그리고 post2.html와의 차이 그리고 post2.php 꽤 미묘하다.
차이는 그냥 나는 인쇄하지 않는 것이
암호 나는 양식을 제출합니다.
>> 그래서, 더그을 입력거야.
그리고 입력거야 squadgoals에서, 심지어
우리가 알고 있지만 그 암호입니다.
내가 제출하기 전에 내가 갈거야, 그래도 형성
단지에, 개발자 도구를 엽니 다 여기에 무슨 일이 일어날을 보여줍니다.
크롬 그래서, 난 그냥 F12 키를 칠거야.
그리고 그 열 것 내 오른쪽에 개발자 도구.
아직 양식을 제출하지 않았습니다.
지금은 내 양식에 제출 칠거야.
그리고 분명히, 내가 만든 에 전화, 또는 내가 요청을
의미가있는 post2.php합니다.
그 클릭거야.
>> 그리고 여기, 내가 갈거야 머리글을 클릭합니다.
물건이 여기에 무슨이 많이 있습니다.
그러나 나는 매우 아래로 스크롤하면 바닥,주의 사항 바로 내 캘린더를 ... 이렇게
second-- 권리를 차단했습니다 이 맨 아래 구석에,
더그, pw-- squadgoals name--.
내가 POST를 사용하고 그래서 비록 더 안전 방법,
다만, 이렇게 때주의 여전히 정보를 송신하는
HTTP를 통해.
그리고 그것은 여전히​​ 수 있습니다 공격자에 의해 발견.
우리가가는거야 그냥 뭔가 정말 처리해야합니다.
어쩌면 암호화하는 몇 가지 방법 거기에 우리의 암호는 우리가 그들을 보내 전에
이는 더 나은 것 이는 내가 여기서 뭘하고 있지 않다.
>> 그러나 단지 POST 알고 있어야 방법도 한계가있다.
그것은 GET을 통해 개선의 즉시 표시되는 용어.
그러나 그것은 완전한 수정하지 않습니다.
그래서 여기의 예 가정 운동에서 빠른
당신은 몇 가지를 얻을하는 데 사용할 수있는 PHP로 작업을 연습합니다.
웹 페이지에 다음과 같은 쌍을 생성합니다.
첫 번째는 그냥 아주 간단해야한다 하나의 필드로 구성하고 제출
단추.
에 따라서 매우 유사 우리 다만 post.html로했다.
>> 그리고 두 번째 당신이 작성해야 파일
파일, PHP 파일은,이다 POST를 통해 입력을 기대하고있다,
및에 기초하여 사용자가 입력 한 내용 어느 당신은 정수가됩니다 가정 할 수 있습니다.
당신은 어떤 작업을 수행 할 필요가 없습니다 에러 검사 등.
당신은 사용자를 가정 할 수있다 정수 값을 입력합니다,
또는 해석과 같은 그 형태에 정수, 같은 PHP.
당신은 단지를 만들려면 n 개의 곱셈 테이블로 N.
>> 사용자가 10을 제출한다면, 우리는 원하는 (10) (10)에 의해 곱셈 테이블이 있습니다.
사용자가 (12)를 제출하는 경우, 우리는 원하는 (12) (12)에 의한 곱셈 테이블.
당신이 볼 수있는 것과 그래서 우리는 여기에서 운전하고
우리는 살펴 보겠습니다 내 IDE에서이 파일.
>> 그래서 여기 IDE에서, 나는 mult_form.html 있습니다.
나는 그것을 클릭합니다.
내가하고 싶은 모든 가치를 제출합니다.
10 종류, 제출했다.
그리고 분명히, mult_table.php, 어떤 우리는 URL에이 상단에 볼 수 있습니다
나는 (10) (10)에 의해 만드는거야 곱셈 테이블.
>> 내가 15을 입력하고 공격하면 지금, 제출 (15) (15)에 의해 곱셈 테이블이 있습니다.
나는 물론, 표시하지 않을거야 당신 mult_table.php의 내용,
그 재미를 취할 것이기 때문에 가정 운동에서이 부족합니다.
하지만 몇 가지를 얻을 수있는 좋은 방법입니다 PHP 루프 작업 연습
과 POST, 매우 간단합니다, 희망 스트레스 무료 예, 단지
약간의 연습을 할 수 있습니다.
그리고 나는 계속 약간의 CSS를 가지고 여기 내 개별 테이블을 만들 수 있습니다
세포는 종류의 오프 팝업 조금과 좀 더 봐
구구단처럼, 반대로 그냥 그냥 텍스트에
가지 거기에 앉아.
우리가 얘기하자 마지막으로 슈퍼 글로벌 이 비디오에 뭔가라고
$ _SESSION.
그리고 어쩌면이 실제로 무언가의 좋은 예
우리는 글로벌 고려할 것입니다.
그것은 다른 배열입니다.
그것은 다른 연관 배열입니다.
그러나 모든 통해 액세스 할 수 있습니다 우리의 시스템에있는 PHP 파일.
>> 우리는 제출하지 않아도됩니다 한번에 한 페이지 정보
같은 우리는 GET와 POST으로한다.
그것은 항상있다.
그래서이 페이지에 좋은 곳입니다 만약, 예를 들면, 기록 된 위치,
당신은 당신의 로그인 정보를 원하는지 페이지로 페이지에서 페이지로 유지한다.
>> 당신은 다음 세션을 시작할 수 있습니다 같은 것들을 저장하는 $ _SESSION을 사용
사용자의 이름, 사용자의 ID 정보 등.
그리고 그 정보를 유지합니다 $ _SESSION 세션을 파괴 할 때까지
나중에 조금.
>> 동적 웹 사이트를 작성 PHP는 훨씬 더들을 수 있습니다.
귀하의 사이트가 매우 동적, 당신은하지 않습니다
보다 너무 많이 더해야 할 일 그렇지 않으면 그냥했을 것
HTML을 사용하여 그 일을.
그러나 연습이 필요, 연습을 많이.
>> 당신은 이미, C와 함께 작동하는 방법을 알고 그래서 PHP로 점프하는 것은 너무 까다로운 수 없습니다.
무슨 일이 어쩌면 조금 까다로운 비트 작동
GET과 POST의 새로운 아이디어와, 어쩌면 당신의 HTML과 PHP를 혼합
함께.
뿐만 아니라 인터넷을 알고 있어야 정보의 광대 한 창고이다.
그리고 PHP의 문서를 사용할 수 있습니다 많은 장소에서, 그러나 아마 가장
canonically php.net에서.
그리고 당신은 거기 찾을 수 있습니다 다른 기능을 많이,
및 케이스 및 예제를 사용 예시 예,시.
당신은 어디에서 시도하고 그림하려는 경우 뭔가를하는 방법, 확률은이다
누군가는 아마 전에 이루어집니다.
그리고 당신은 그들을 사용할 수 있습니다 영감을 구현하는 어떤
그것은 당신이 너무 구현하기 위해 노력하고 있습니다.
>> 나는 더그 로이드입니다.
이 CS50입니다.