deepsleep – 쉽다의 다형성 (PHP VS JAVA)

지금부터 '쉽다'라는 말이 상당히 다양한 얼굴을 가지고 있을 수 있다, 라는 이야기를 php와 java라는 언어의 비유를 통해 해보려고 합니다 우선 php는 처음부터 큰 포부를 가지고 시작한 언어는 아니었어요 원래 이름도 상당이 소박했습니다 Personal Homepage Tools 였습니다 개인의 홈페이지를 만드는 도구라는 뜻이죠 나중에는 이 이름이 좀 없어 보이잖아요 그래서 php가 이름을 바꿉니다 약자는 같지만 그 의미를 Php는 Hypertext Preprocessor이다, 라는 이름으로 그 이니셜을 바꿉니다 그 안에 또 php라는 말이 들어 있으니까 다시 php는 hypertext preprocessor다, 라는 뜻이 되죠 재귀적인 유머라고 할 수 있는데 이 얘기를 이해하실 수 있을지는 모르겠습니다 글로 보면 더 편하실 텐데 그런데 예상 외로 큰 성공을 해서 지금은 컴퓨터 언어 중에서 10위 권 안에는 꼭 들어가 있고 이걸 웹과 인터넷으로 범위를 좁힌다면 그 영향력은 더욱 더 커집니다 말하자면 php는 작게 시작해서 크게 성공한 말하자면 자수성가형 언어라고 할 수 있습니다 그런데 php는 처음에는 그냥 가벼운 마음으로 시작했고 또 그 언어가 발전해 나가는 과정에서 정교한 검증 과정을 거쳐서 발전한 언어가 아니기 때문에 일관성 같은 것들이 많이 부족합니다 그래서 자연스럽게 php가 성장하면서 많은 시스템에서 사용되면서 php는 그 언어가 갖고 있는 정통 언어가 가져야하는 엄격함, 또 일관성같은 것들이 부족했기 때문에 그런 것들에 대한 요구를 받게 됩니다 그래서 그런 요구를 하나하나 받아들이면서 지금의 상태에 도달했습니다 예를 들어 php는 처음에 객체지향 기능이 없었어요 근데 나중에 객체 지향을 도입했죠 반면에 java는 '썬'이라고 하는 아주 큰 회사의 엄선된 엔지니어들에 의해 정교하게 설계되어 만들어진 언어입니다 그리고 처음부터 기존의 언어들이 갖고 있었던 객체지향이라고 하는 특성과 여러 가지 특성들을 언어들이 다양하게 가지고 있었는데 java는 처음부터 '우리는 객체지향 언어를 만들겠어'라고 선언을 하고 만든 언어이기 때문에 java라는 언어는 객체 지향의 화신 같은 언어입니다 그래서 이 언어는 객체지향이라고 하는 것을 강제합니다 그래서 java는 '객체지향'이라는 산을 어떻게든 대충이라도 꼭 넘어야만 이 언어를 쓸 수 있다는 점에서 초심자한테는 상당히 어려운 언어라고 할 수가 있습니다 하지만 이 언어는 객체지향이라는 목적성을 처음부터 세팅해서 그 외의 것들은 다 배제했기 때문에 비교적 일관된 언어적 특성을 가지고 있습니다 그 얘기는 뭐냐하면 이 언어는 일단 잘 다루게 되면 제가 생각하기에 php같은 언어보다 기억해야 할 것이 오히려 적다, 라는 그런 장점을 가지고 있습니다 말하자면 php는 진입하기는 쉽지만 진입 후에는 어려울 수 있는 측면이 있고 java 같은 경우는 진입하기는 어렵지만 진입한 후에는 오히려 쉬운 면이 있는 것 같습니다 그런데 오해하시지 않으셨으면 좋겠다는 생각이 드는 것은 처음에 진입하기 쉬운 것도 굉장히 중요한 특성입니다 그리고 진입한 후 나중에 중급자가 되어서 쉽다라는 것도 굉장히 중요한 특성이기 때문에 php와 java 중 어떤 언어가 더 좋다, 라는 얘기를 이 글에선 하지 않습니다 java와는 다르게 php는 원래는 없었던 객체지향을 나중에 채택했습니다 그래서 기본적으로 함수를 중심으로 해서 언어가 설계되어 있어요 자연스럽게 여러분이 함수까지만 알면 이 언어를 충분히 사용할 수 있습니다 객체 지향은 선택사항이에요 여러분이 쓰고 싶으면 쓰고, 쓰기 싫으면 안 쓰면 되거든요 그래서 초심자는 php를 사용하는 것이 이론적으로는 쉽습니다 왜냐하면 객체지향이라는 것은 나중에 필요할 때 쓰면 되니까요 생각해보면 객체지향이라는 것이 하늘에서 뚝 떨어진 것이 아니고 역사적인 발전 과정을 통해서 함수가 먼저 있었고 함수가 많아짐에 따라 연관된 함수를 그룹핑해서 정리정돈 하기 위해서 만들어진 것이 객체지향의 중요한 측면 중 하나라고 생각하기 때문에 처음에는 함수로 시작해서 나중에 실력이 좋아짐에 따라 객체지향을 채택할 수도 있고 채택하지 않을 수 있다, 라고 하는 것은 제 생각에는 php가 가진 중요한 장점입니다 하지만 객체지향 이전의 프로그래밍 패러다임 그리고 객체지향 이후의 패러다임이 동시에 공존하고 있는 상태이기 때문에 그러면서도 함수형 언어가 갖고 있는 클로저 같은 특성들도 채택하고 있기 때문에 어떻게보면 php라는 언어는 문법적인 표면적이 상당히 낮은 편입니다 그래서 이것은 코드를 쓰는 쪽, 즉 초심자가 자기가 알고 있는 범위에서 자기가 아는 문법을 사용해서 코드를 작성하는 것은 유리하지만 다른 사람이 만들어 놓은 코드를 보고 그 코드가 어떤 내용인지를 읽는 쪽에서는 불리한 면이 있는 것 같아요 다르게 말하면 초심자 입장에선 진입하기 쉽지만 진입 후에는 어려운 면이 있는 것 같습니다 그래서 제가 생각하기에 '쉽다'라는 말은 사실은 다양한 '쉬움'이 있을 수 있다고 봅니다 어떤 '쉬움'은 초심자에게 쉬운 걸 수도 있구요 어떤 '쉬움'은 중급자에게 쉬운 것일 수도 있죠 자신이 어떤 상황에 있느냐에 따라서 그 사람의 상황에 따라 그 사람에게 적합한 언어가 있을 수 있고 환경이 있을 수 있다라는 생각도 듭니다

웹에플리케이션 만들기 – JS, PHP 프로그래밍 9-2-1 : php 로그인앱 소개

이번 시간에 우리가 살펴볼 내용은 php로 로그인 어플리케이션을 만들어보는 법에 대해서 알아보겠습니다 그런데 이 수업은 우리 웹 어플리케이션 수업 전체가 끝나고 꽤 시간이 지난 뒤에 이야기가 좀 어렵다라는 피드백들이 있어서 새롭게 만들어 본 수업입니다 그래서 조금 맥락이 약간 어긋나 있는 듯한 느낌 또는 제 말투의 어떤 변화 이런 것들이 좀 느껴지실 수도 있어요 자바스크립트에서 로그인을 어떻게 하는 건지는 보셨고 자아, 이번엔 우리가 살펴볼 것은 PHP에서 어떻게 할 것이냐인데 보통 우리가 웹사이트에서 로그인을 한다고 하면 사실은 이런 느낌으로 로그인을 하죠 비밀번호 아이디도 있겠지만 ID와 비밀번호를 입력하는 텍스트필드라는 것이 있고 거기에다가 이렇게 비밀번호를 입력해서 제출 버튼을 누르면 그러면 사용자가 입력한 비밀번호가 서버로 전송이 되는 방식으로 로그인이 이루어집니다 물론 실제 서비스에서는 이렇게 비밀번호를 입력하는 부분에서 이렇게 글씨 내용이 보이는 것이 아니라 이렇게 별표 표시가 되는데 그런 것들은 지금 우리한테 중요한 게 아니죠 자 아무튼 제가 이렇게 입력하고 제출버튼을 누르면 여러분들은 어디를 봐야 되냐면 현재 우리가 실행시킨 이 PHP 어플리케이션은 8-1php 인데요 여기서 제가 제출 버튼을 눌렀을 때 이 URL에 어떤 변화가 생기는지를 한 번 유심히 살펴 보시면 됩니다 자 한번 제출 버튼을 눌러 볼게요 자, 보시는 것처럼 8-2php가 열렸죠? 그리고 뒤에 password는 111111 이라고 하는 비밀번호가 전달이 된 겁니다 그런데 지금 우리가 아직 8-2php가 어떻게 생겼는지 지금 아직 보지 못했지만 요 곳은 비밀번호가 1이 4개 일 때 로그인되는 애플리케이션이애요 근데 지금은 우리가 여섯 개를 입력한 상태였기 때문에 뉘신지 라고 물어본것이죠 자 그러면 제가 비밀번호 1111을 한 번 입력해볼께요 하나 둘 셋 넷 그리고 제출버튼을 눌렀을 때 URL이 어떻게 바뀌는지보세요 자 보시는 것처럼 8-2

php로 php가 열렸고 그리고 password는 1111 이 요렇게 뒤에 붙은 것을 볼 수 있죠 그리고 그에 따라서 로그인이 성공했기 때문에 안녕하세요 주인님이라고 하는 저런 텍스트가 화면에 표시가 된 것이죠 우리가 아직 코드가 어떻게 생겼는지 보지는 못했지만 여기서 중요한 것은 요렇게 생긴 화면에서 제가 비밀번호를 입력하고 뭐 꼭 비밀번호일 필요는 없습니다 비밀번호일 수도 있고 글을 작성하는 화면이면 글 제목일 수도 있겠죠 그리고 제출버튼을 눌렀을 때 예~ 보시는 것처럼 새로운 PHP 애플리케이션이 열리면서 이렇게 정보를 정보를 전달할 수 있다는 것이죠 그에 따라서 실행결과가 달라진다 라는 것 이것이 가장 중요한 내용입니다 자 그러면 우리가 여기서 조금 더 응용을 해서 방금 보셨던 이런 화면 있잖아요 이런 화면을 통하지 않고도 우리가 이 8-2php 아직 그 코드를 본 적도 없는 저 PHP 애플리케이션이 동작되는 결과를 다르게 할 수 있는 방법이 무엇일까요? 바로 여기 있는 password 라고 하는 적혀있는 이 부분에 우리가 직접 값을 입력해서 예, 여기 있는 이 부분에 결과를 다르게 할 수도 있다는 것이죠 자 예를 들어서 여기다가 1111 이라고 입력하고 엔터를 치면 안녕하세요 주인님 이 뜹니다 자 그런데 제가 여기다가 아무거나 막 입력해요 다시 말해서 틀린 비밀번호를 입력하고 엔터를 치면 보시는 것처럼 뉘신지라고 하는 텍스트가 뜨게 된다는 것이죠 자, 이것이 가능한 이유는 여기 보시는 8-2php 우리가 이제 만들 8-2php 가 이 물음표 뒤에 따라오는 password 의 값이 무엇이냐에 따라서 다르게 동작하고 있다 라는 것이 굉장히 중요한 사실입니다 물론 이 부분은 뒤에서도 여러 번 이것과 관련해서 여러분들에게 설명을 드릴 것이기 때문에 혹시 지금 이해가 안 간다고 하더라도 너무 실의에 빠지실 필요는 없습니다 원래 좀 어려운 내용이니까요 자 다시 한번 따져 봅시다 8-2

php 는 예~ password 의 값이 무엇이냐에 따라서 다르게 동작한다 그 얘기는 뭐냐 이 password의 값이 무엇인지를 우리가 만들 8-2php 는 알 수 있어야 돼요 그렇죠? 그리고 이 password 의 값이 무엇인지에 따라서 추측해보세요 8-2php PHP 애플리케이션은 그 password의 값을 1111 인지 아니면 1111 이 아닌 지에 따라서 로그인을 시켜주거나 로그인을 시켜주지 않거나 하는 것을 가능하게 하는 코드가 8-2php 안에 있으면 되겠죠? 그게 뭐겠어요? 바로 조건문인 것이죠 형태는 상당히 다르게 보일 수 있어도 이 자바스크립트와 PHP는 동작하는 방법은 사실은 거의 비슷합니다 자 그러면 간단하게 어 여기에 8-1php 즉, 사용자의 입력을 받는 화면을 한 번 살짝 살펴보고 우리의 주인공인 8-2

php의 내용을 좀 더 깊게 살펴보도록 하죠

웹에플리케이션 만들기 – JS, PHP 프로그래밍 9-1 : JavaScript 로그인앱

이번 시간에는 로그인 기능을 구현하는 방법에 대해서 살펴보겠는데요 지금까지 우리가 배운 것을 중간 정리하는 단계라고 보시면 되겠습니다

특히나 조건문이 중요하게 사용이 될 거에요 우선 Javascript부터 살펴볼 건데요 여러분들 좀 검은색과 흰색이 왔다 갔다 하면서 눈이 아프실 거 같아서 제가 색깔을 좀 밝은 색깔로 바꿔봤습니다 잘 찾아보시면 색깔 이런 테마 같은걸 바꿀 수 있는 기능이 있어요 시작해보죠

저는 7php라는 파일을 만들었고요 여기에서는 Javascript를 이용해서만 로그인을 구현해 볼 겁니다 여기서 우리가 이 수업을 진행하기 전에 여러분들이 먼저 좀 알아두셔야 할 기능이 있는데 프롬프트라는 기능입니다 프롬프트

P R O M P T 여기에다가 비밀번호라고 이렇게 적어 주고요 우리의 페이지를 열어보면 이런 화면이 뜹니다 그리고 비밀번호를 물어봐요 거기에다가 111111이라고 입력하고 확인을 누르면 됩니다

여기보시면 여기 있는 이 프롬프트라고 하는 이 명령이 방금 보셨던 그 창을 띄운거에요 거기에 비밀번호라고 이렇게 적어 주시면 이 명령어로 인해서 이렇게 생긴 창이 뜨면서 여기에 있는 비밀번호라고 하는 텍스트가 여기에 들어가게 됩니다

그러면 사용자가 여기에다가 비밀번호를 입력할 수 있겠죠? 예를 들면 111111 그리고 확인을 누르면 되는데 사용자가 입력한 정보를 우리가 받기 위한 방법은 여기에다가 패스워드라는 변수를 이렇게 주면 됩니다 한번 해볼게요 이렇게 경고창이 뜨면 어떻게 된 거냐 하면 Javascript 이 부분에서 여기가 먼저 실행이 된 거에요 그래서 비밀번호를 이렇게 물어보는 거죠 그리고 여기에다가 뭔가를 입력하면 입력하고 확인 버튼을 누르면 그러면 여기에 있는 이 부분에 값이 바로 여기에 입력한 값이 됩니다

그러면 자연스럽게 그 값이 패스워드로 들어가서 패스워드의 값은 여기에 입력한 값과 패스워드의 값이 같은 값이 된다는 거죠 그래서 한번 확인해볼까요? 여기서 제가 documentwrite(password);라고 이렇게 하고 실행을 시켜보겠습니다 F5 그리고 1111 확인 버튼을 누르면 보시는 것처럼 사용자가 입력한 정보를 이 Javascript가 알아낼 수 있게 되는 거예요 바로 이런 작업들은 HTML, CSS는 할 수 없는 일입니다

즉 사용자의 생각을 받아내서 어떤 일을 처리하는 것, 그것을 Javascript나 php는 할 수 있지만 HTML이나 CSS는 할 수 없는 일이에요 그러면 그렇게 받은 정보를 가지고 우리 한번 로그인 기능을 구현해보죠 물론 이렇게 로그인을 구현하면 절대 안 됩니다 이거 아주 허접한 방법이에요 그런데 이건 이걸로도 우리 같은 시사점이 많죠

만약 패스워드가 1111과 같다면, 그러면 어떻게 되는 거예요? 정상적인 접근이 되는 거죠? 안녕하세요 주인님 만약에 패스워드가 같지 않다면 뉘신지? 이렇게 그리고 실행을 한번해보죠 비밀번호를 입력하라고 해요, 그러면 요거는 어디까지 온 거냐 하면 여기까지 온 거죠? 그리고 여기에 비밀번호를 입력하면 그거는 패스워드로 들어가게 됩니다

1111이라고 하고 확인을 누르면 여기의 값은 이제 1111이 되면서 얘와 비교를 하면 이거 전체는 true가 되죠? 그러면 자연스럽게 if 안에 있는 이 부분이 실행이 되겠죠 한번 해볼게요 확인 안녕하세요 주인님이 뜹니다

그 다음에 F5를 누르고 1을 하나만 넣어볼게요 그리고 확인 누르면 뉘신지가 뜨는 거죠 이로써 우리에게 있어서 이 웹페이지 전체가 말하자면 확정된 상태가 되요 확정된 상태 우리는 이 웹페이지를 더 이상 수정할 필요가 없어집니다

대신에 사용자가 여기에 어떠한 값을 입력했느냐에 따라서 이 if문에 있는 이 부분의 동작 방법이 달라지게 되는 것이죠 즉, 이 프로그램에서 변할 수 있는 부분을 완전히 프로그램 바깥쪽에 사용자가 조작하는 쪽으로 몰아내서 이제 우리가 일반적으로 얘기하는 제대로 된 프로그램 같은 모양이 나오게 된 것이죠 어때요? 그렇게 멋진 것은 아니지만 어쨌든 무언가 프로그램 같은 걸 만든 것 같지 않으신가요? 예 여기까지 하고요 다음 영상에서는 php를 이용해서 로그인을 하는 방법을 우리 살펴보죠

Android S7E4 : PHP MySQL – PDF Viewer with GridView

Todays 'Edition이나 ProgrammingWizards TV에 오신 것을 환영합니다 이것은 안드로이드 mysql을 PDF로 자습서입니다

우리는 MySQL 데이터베이스에 저장된 PDF 문서를 나열하는 PDF 뷰어 android 앱을 만드는 방법을 알고 있습니다 gridview에서 우리는 HTTP GET 요청을 통해 이러한 PDF 문서를 다운로드하여 이미지와 텍스트가있는 사용자 정의 그리드 뷰 여기에 우리의 응용 프로그램을 볼 수 있습니다, 우리는 헤더 레이블로 TextView, 그리고 빈 gridview 및 다운로드 단추 이 다운로드 버튼을 클릭하면 PHP MySQL 서버에서 PDF가 다운로드됩니다

HTTP GET 요청을 다운로드하거나 만들 때 불확정 progressbar가 렌더링됩니다 그리드 뷰에서 렌더링되는 PDF 문서를 볼 수 있습니다 GridView의 관점에 유의하십시오 그냥 이미지와 텍스트를 렌더링하는 것입니다 PDF 아이콘, PDF 문서 제목 및 PDF 문서 설명입니다

사용자는 문서를 스크롤하고 하나의 PDF 문서를 클릭하여 열어 볼 수 있습니다 이 PDF 문서는 PHP MySQL 데이터베이스에 저장됩니다 그리고 우리는 HTTP GET 요청을 통해 다운로드합니다 단일 gridview 항목을 클릭하면 PDF Viewer 활동을 사용하여 PDF 문서를 렌더링 할 수 있음을 알 수 있습니다 사용자가 볼 수 있듯이 스크롤 핸들을 사용하여 PDF 문서를 스크롤하면 현재 PDF 페이지도 표시됩니다

사용자는 렌더링 된 pdf 문서를 확대 및 축소 할 수도 있습니다 그런 다음 렌더링 할 수있는 다른 PDF 문서도 있습니다 클릭하기 만하면됩니다 이제 우리가 클릭 한 것을 완벽하게 렌더링하고 있음을 알 수 있습니다 당신이 볼 수 있듯이 포맷은 전문적이며 우리는 PDF 문서를 bartesk의 안드로이드 PDF 뷰어 라이브러리

github에서 무료로 사용할 수있는 무료 라이브러리입니다 우리는 당신이 볼 수있는 것처럼 우리의 gridview에서 렌더링 된 다른 PDF 문서를 가지고 있습니다 앞서 말했듯이 PDF를 읽거나 볼 수 있도록 렌더링합니다 그래서 우리는 Java android를 사용하여 PDF Viewer / Reader 응용 프로그램을 작성합니다 그것은 PDF 문서를 MySQL 데이터베이스에 저장합니다

또한 가로 모드에서는 애플리케이션을 볼 수 있습니다 데이터를 다운로드하면 진행률 표시 줄이 표시됩니다 그러면 우리의 PDF 문서는 우리의 gridview에 나열됩니다이 튜토리얼에서는 gridview를 사용했지만 물론 ListView 나 ReccylerView에서 PDF 문서를 나열하거나 해당 어댑터 뷰를 확인할 수도 있습니다 여기에서 PDF 문서가 PDF 활동에서 렌더링되는 것을 볼 수 있습니다

사용자는 확대 / 축소 및 스크롤이 가능하며 PDF 문서는 확실하게 렌더링됩니다 우리의 PDF 문서는 다시 mysql 데이터베이스에 저장 될 것입니다 파이썬을 우리의 서버 측 프로그래밍 언어로 사용할 것이며, 우리의 안드로이드 응용 프로그램은 HTTP (Hyper Text Transfer Protocol)를 통해 PHP에 연결하여 대화 할 것입니다 우선 우리는 mysql 데이터베이스를 설정해야한다 당신은 wamp 서버와 같은 databasae 도구를 사용할 수 있습니다, xampp 서버 또는 유니폼 서버

나는이 경우에 후자를 사용한다 데이터베이스와 테이블을 생성하고 mysql 데이터베이스에 데이터를 삽입 / 저장하려면 PHPMyAdmin이 필요합니다 이러한 데이터는 이름, 설명, 경로 URL, 이미지 URL 및 작성자와 같은 PDF 세부 정보가 될 것이며, 브라우저에서 프로젝트를 실행하여 우리가 처음에 얻은 것을 확인해 봅시다 브라우저에서 내 PHP 스크립트를 클릭하면 mysql 데이터베이스에서 데이터가로드됩니다 그 데이터는 다음과 같습니다

json_encoded로 json 형식으로 출력됩니다 그래서 우리가 안드로이드 애플 리케이션에서 우리의 HTTP 요청을 만들면, 이것이 우리가 얻는 것입니다, 안드로이드 응용 프로그램에서 파싱 될 json 데이터입니다 PHPMyAdmin으로 이동하여 데이터베이스를 만들어 보겠습니다 나는 유니폼 서버를 사용하는 것을 선호한다고 말했지만, 그것과 wamp 서버 또는 심지어 xampp 사이에는 큰 차이가 없다 먼저 제공된 양식에 데이터베이스 이름을 입력하여 데이터베이스를 작성합니다

그런 다음 폼에 테이블 이름을 입력 할 수 있도록 mysql 테이블을 만들어야합니다 내 테이블에 이미 데이터가 있음을 알 수 있습니다 테이블은 행 ID로 구성됩니다 자동으로 증가합니다 pdf 또는 제목의 이름은 이름 열에 저장됩니다

범주 descroption은 테이블에 열을 포함합니다 또한 PDF URL과 이미지 URL을 기록해 두십시오 가장 효율적인 방법은 PDF URL과 이미지 URL을 데이터베이스에 저장하는 것입니다 그런 다음 PDF 파일과 이미지 파일이 서버의 폴더에 저장되어 mysql에 원시 바이너리 모양으로 저장되지 않습니다 우리 테이블 구조는 여기에 있습니다

id 열은 기본 키이며 자동 증가됩니다 다른 열은 varchars 및 텍스트입니다 데이터베이스 테이블을 준비 했으므로 웹 사이트 http://camposhainfo에서 더 많은 지침을 얻습니다 다시 말하지만, 우리는 pdf와 image URL을 데이터베이스에 저장 한 다음 그 URL을 우리의 pdfs 및 이미지를 mysql 데이터베이스 테이블에서로드 할 수 있습니다

여기에서 우리는 pdf 문서 / 아이콘뿐만 아니라 pdf 문서를 저장할 수있는 폴더가 있다는 것을 알 수 있습니다 또한 하나의 PHP 파일 인 indexphp 만 있습니다 여기에 우리의 프로젝트 폴더가 있습니다, 당신은 그것이 당신의 루트 디렉토리에 저장되기를 원합니다 WAMP 서버를 사용한다면 www 디렉토리

Xampp을 사용하면 htdocs 디렉토리가됩니다 이것들이 PDF 문서의 이미지 또는 아이콘임을 알 수 있습니다 이 이미지의 경로를 mysql 데이터베이스에 저장합니다 그런 다음 안드로이드에서 Picasso Imageloader를 사용하십시오 응용 프로그램에서 해당 이미지를 비동기 적으로로드합니다

mysql 데이터베이스에 적절한 이미지 경로를 저장해야한다는 것을 알고 있어야합니다 그런 다음 pdfs 디렉토리도 갖습니다 이 폴더에 PDF 문서가 있음을 분명히 알 수 있습니다 이 PDF의 경로를 mysql 데이터베이스에 저장합니다 그런 다음 비동기 적으로 경로 또는 URL에서 PDF를로드합니다

따라서 필요한 파일과 폴더는 indexphp, PDF 문서가 포함 된 pdfs 디렉토리 및 pdf 이미지가 포함 된 PDF 아이콘입니다 PHPMyAdmin을 사용하여 mysql 데이터베이스에 데이터를 삽입 할 수 있습니다 자동 생성 될 ID를 입력하지 마십시오 당신은 우리가 이름, 카테고리, 설명, PDF URL과 PDF 이미지 / 아이콘 URL을 볼 수 있습니다

그때 그들을 입력하십시오 구하다 대부분의 경우 당신은 일종의 웹 인터페이스를 통해 이것을 할 것입니다 브라우저를 통해 표시 할 수있는 URL을 통해 이미지를로드하는지 확인할 수 있습니다 이제 우리는 PHP 코드를 작성하게되었습니다 PHP는 서버 측 프로그래밍 언어이며, 아마도 가장 인기있는 서버 측 웹 개발 언어입니다

강력한 웹 응용 프로그램을 만들 수 있습니다 이 경우 이해하기 쉬운 객체 지향 PHP 코드를 작성합니다 먼저 Constants라는 클래스를 만듭니다 이 클래스는 데이터베이스 자격 증명과 상수를 보유 할 것이며, 여기에는 데이터베이스 서버 이름, 데이터베이스 이름, 데이터베이스 사용자 이름 및 암호가 표시됩니다 우리 서버는 분명히 localhost입니다

pass라고하는 암호로 sisi라는 사용자 정의 사용자를 만들었습니다 당신이 사용할 수있는 사용자를 만들지 않은 경우 루트를 기본 용도로 사용하고 비밀번호는 비어있는 비밀번호를 사용하십시오 그런 다음 mysql 데이터베이스에서 모든 것을 선택하는 sql 문을 갖게 될 것입니다 이 경우 모든 pdf 문서는 물론 이미지, 설명, 제목, 작성자 등이 선택됩니다 그런 다음 Pdfs라는 다른 클래스에서 PDF CRUD 작업을 수행합니다

먼저 우리에게 우리에게 필요한 기능을 정의합니다 mysql 데이터베이스 테이블 null 또는 mysqli 객체를 반환한다 우리는 객체 지향 방식으로 mysqli를 사용한다 서버 이름, 사용자 이름, 암호 및 데이터베이스 이름을 전달하여 인스턴스를 생성합니다 resultnat mysqli 객체를 con이라는 변수에 넣습니다

그런 다음 mysql 데이터베이스에서 데이터를 선택할 함수로 이동합니다 먼저 connect 메소드를 사용하여 mysql 데이터베이스에 연결한다 연결이 null인지 확인하십시오 그렇다면 우리는 안드로이드 앱으로 전송 될 예외 메시지를 인코딩합니다 그렇지 않은 경우 connection이 null이 아니면 mysqli 객체의 query 메소드를 호출한다

우리는 죄수 물건을 들고 있습니다 모든 mysql 데이터베이스를 선택하기 위해 SQL 문을 전달했다는 것을 기억하십시오 결과가 제로보다 큰 경우 그런 다음 먼저 PHP 배열 배열을 인스턴스화합니다 그런 다음 fetch_array () 메소드를 통해 얻은 결과를 while 루프 루프를 사용합니다 그런 다음 결과를 pdfs 배열로 푸시합니다

원래 우리가이 배열로 밀어 넣고있는 pdf 세부 사항입니다 그런 다음 루프를 종료 한 후 json 형식으로 클라이언트에 보낼 수 있도록 역순으로 배열을 json으로 인코딩합니다 우리가 안드로이드 애플 리케이션에서 마지막으로 추가 된 항목을 먼저 보여주기 때문에 우리는 그것을 뒤집었다 나중에 데이터베이스 연결을 닫습니다 그런 다음 우리는 안드로이드 프로젝트를 만들게됩니다

안드로이드 스튜디오를 사용하고 있습니다 API 레벨 14를 최소 sdk로 사용하고 빈 활동을 선택하겠습니다 그런 다음 우리는 우리 프로젝트에옵니다 먼저 프로젝트 레벨 buildgradle로 이동합니다

여기에서 allprojects 클로저에 maven URL을 https // jitpackio로 추가하고, 이제 앱 수준 buildgradle로 이동합니다 여기에 몇 가지 종속성을 추가합니다 우리 프로젝트에 먼저 CardView, appcompat 및 design과 같은 지원 라이브러리가 있습니다

그럼 우리는 안드로이드 네트워킹 라이브러리, 빠른 안드로이드 네트워킹 라이브러리라고도합니다 이것은 http 요청을 수행하는 데 사용할 라이브러리입니다 이 경우 우리는 http get request를 수행 할 것입니다 빠른 안드로이드 네트워킹 라이브러리는 우리가 비동기 방식으로 우리의 요청을 할 수있게합니다 오류를 적절하게 처리합니다

OkHHTP 네트워킹 레이어를 기반으로합니다 그럼 우리는 asyncronously php mysql에서 우리의 이미지를로드 할 피카소있을 것이다 Android PDFViewer 라이브러리를 사용하여 PDF 문서를 볼 것입니다 서버에서 다운로드하십시오 Android PDF 뷰어는 무료 라이브러리이며 사용하기 쉽고 빠릅니다

마지막으로 우리는 파일,이 경우 자신의 URL에서 PDF 문서를 허용하는 파일 로더 라이브러리를 갖습니다 또한이 작업은 비동기 적으로 수행됩니다 그런 다음 해당 PDF 파일을 내부 저장소에 저장하거나 파일을 저장할 수도 있습니다 외부 저장소 그럼 우리는 그들의 PDF 파일을로드합니다

이러한 종속성을 추가하고 동기화하십시오 그런 다음 androimanifest로 이동하여 인터넷 권한을 추가합니다 또한 외부 저장소에 pdfs를 캐시하는 경우 외부 저장소에 대한 읽기 및 쓰기 기능을 추가 할 수 있습니다 그런 다음 두 개의 이미지 (pdf_iconpng 및 placeholder

png)가 생성됩니다 그럼 우리의 activity_mainxml 루트에서 우리는 수직 방향을 가진 선형 레이아웃을 가지고 있습니다 ProgresssBar 인 TetxtView라는 헤더가 있습니다

ProgressBar가 표시됩니다 우리는 php mysql 서버에서 pdf 문서를 우리의 gridview로 다운로드합니다 그런 다음 다운로드 한 PDF 문서를 나열 할 GridView입니다 ListView, RecyclerView도 사용할 수 있습니다 그런 다음 버튼을 눌러 데이터 다운로드를 시작하고, 다음은 activity_main

xml 레이아웃의 디자인 뷰입니다 다음으로 row_modelxml이 나온다 여기서 디자인보기를 볼 수 있습니다 루트에서 CardView를 갖습니다

CardView 입면도, cardCornerRadius 등을 설정합니다 그런 다음 mysql 데이터베이스에서 pdf 이미지를 렌더링하는 이미지 뷰 그런 다음 TextView를 사용하여 PDF 문서의 이름이나 제목을 표시합니다 pdf의 저자를 표시하는 또 다른 TextView RelativeLayout에 랩핑합니다

그런 다음 activity_pdf 레이아웃 이 레이아웃은 PDF 문서를 렌더링합니다 이 레이아웃에서 사용자는 보거나 pdf를 읽으십시오 맨 위에는 진행 표시 줄이 있습니다 이 진행 상황 표시 줄은 pdf 문서를로드 할 때 표시되며, 그 아래에는 PDFView 요소가 있습니다

이것은 pdf 문서를 렌더링 할 책임이 있습니다 다음으로 우리는 MainActivityjava에옵니다 우리의 프로그래밍 언어는 java이며이 android mysql pdf 뷰어 튜토리얼입니다 우리는 처음부터 시작합니다

먼저 패키지 이름을 지정하십시오 그런 다음 import 문을 추가합니다 그런 다음 클래스를 만들고 AppCompatActivity에서 파생시킵니다 그것은 우리가 여기에서 한 것처럼 안드로이드 manifestxml에 등록되어야하는 활동이다

그런 다음 PDFDoc이라는 내부 클래스를 만듭니다 이 단일 POJO 클래스를 나타내는 클래스 pdf 문서 이 수업에서는 PDF 문서 속성을 정의 할 것입니다 여기에는 정수 인 ID, 이름 pdf의 종류, pdf url뿐만 아니라 pdf 심상 url 우리는 getters에게 세터를 생성합니다 Alt + Enter를 누르고 getters 및 setters를 선택하여 Android Studio를 통해 직접 할 수 있습니다

이제 우리는 GridviewAdapter에 왔습니다 이 클래스를 사용자 정의 어댑터 클래스로 바꾸기 위해 BaseAdapter를 확장합니다 그러나 BaseAdapter는 추상 클래스입니다 그래서 우리는 몇 가지 방법을 재정의하기 위해 열중하게 될 것입니다 그러나 먼저 PDF 문서의 Context와 ArrayList라는 두 개의 인스턴스 필드를 지정합니다

그럼 우리의 생성자 그런 다음 해당 메소드를 대체하십시오 여기에는 getCount (), getItem () 및 getItemId ()가 포함됩니다 getView ()도 있습니다 이 메소드 안에서 우리는 row 객체의 xml 레이아웃을 뷰 객체에 넣고 그것을 반환 할 것이다

하지만 먼저 우리는 그것을 확인합니다 그렇다면 LayoutInflater 클래스를 사용하여 해당 레이아웃을 뷰 객체로 확장합니다 그런 다음 mysql에서 데이터를 표시하기 위해 TextViews와 ImageView를 참조합니다 우리는 우리의 어댑터에서 현재 pdf 문서를 검색합니다 우리는 속성을 가져 와서 적절한 위젯으로 설정합니다

이미지 URL이 null 또는 비어 있는지 확인합니다 그렇다면 우리는 우리가 drawables에 가지고있는 사용자 정의 PDF 아이콘을 표시합니다 그렇지 않으면 Picasso ImageLoader를 통해 네트워크에서 이미지를로드합니다 로드 할 때 자리 표시 자 이미지가 표시됩니다 우리는 또한 우리의 맞춤 그리드 뷰의 onClick 이벤트를 청취 할 것입니다

클릭하면 인 텐트를 통해 PDF 뷰어 활동이 열리고, 우리는 일부 데이터를 해당 활동에 전달할 것이며, 기본적으로 pdf url을 다운로드하여 해당 활동에 pdf 파일을 다운로드 할 수 있습니다 putExtra () 메서드를 사용하여 데이터를 전달합니다 startActivity ()를 호출하여 gridview 항목을 클릭하면 해당 pdf 활동이 열립니다 그런 다음 HTTP 클라이언트를 만듭니다 나는 JSONDownlader를 호출하여 그 일을합니다

먼저 PDF 사이트 URL을 제공해야합니다 기본적으로 pDF URL로 연결되는 URL입니다 IP 주소 또는 1002

2를 사용할 수 있습니다 즉, 우리가하는 것처럼 localhost를 테스트하고있는 것입니다 그런 다음 생성자는 컨텍스트 개체를 사용합니다 우리는 mysql 데이터베이스에서 데이터를 가져 오는 검색을 담당하는 retrieve라는 메소드를 생성 할 것이다 이 메서드는 GridView 및 ProgressBar를 매개 변수로 사용합니다

우리는 pdf 문서를 보관할 arraylist를 만들 것입니다 그런 다음 서버에 HTTP GET 요청을하기 직전에 진행률 막대를 표시합니다 그런 다음 HTTP GET 요청을합니다 AndroidNetworking 또는 Fast Android Networking Library를 사용하고 있습니다 get 메소드에 url을 전달합니다

우선 순위를 설정하고 실제로 HTTP 요청을 수행하기 위해 build ()를 호출합니다 그런 다음 JSON 응답을받습니다 우리는 JSONArray를 받고 있습니다 이제이 JSON 응답을 구문 분석합니다 두 가지 가능성이 있습니다 : 서버로부터 유효한 응답을 얻거나 또는 오류가 발생했습니다

유효한 응답이지만 잘못된 데이터를 얻을 수 있습니다 따라서 JSON 예외를 잡기 위해 JSON 데이터를 구문 분석하는 동안 try catch를 사용합니다 이제 JSON 객체에서 데이터를 가져옵니다 우리는 이름, 카테고리, 설명, pdf url 및 pdf icon url 그런 다음 PDFDOc 객체를 인스턴스화합니다

JSON 객체에서 데이터를 검색하고 PDFDoc을 인스턴스화하면, 우리는 그 항목들을 PDFDoc으로 설정할 것입니다 우리는 setter 메서드를 사용하여이를 수행합니다 그런 다음 해당 PDFDoc을 PDF Documents ArrayList에 추가하십시오 이 arraylist 모든 PDF 문서를 보유합니다 그런 다음 어댑터를 인스턴스화하여 컨텍스트 및 pdf 문서 arraylist를 전달합니다

그런 다음 gridview에 pdf 문서 목록을 표시하기 위해 어댑터를 gridview에 설정하십시오 물론 ListView 나 RecyclerView를 사용할 수도 있습니다 오류가있는 경우 토스트 메시지에 표시합니다 마지막으로 우리는 onCreate () 메소드에 올 것이다 먼저 setContentView () 메서드를 사용하여 contentView를 설정합니다

그런 다음 우리의 gridview 인 adapterview를 참조하십시오 ListView 또는 RecyclerView를 사용한 경우 참조 다음 여기에 우리는 또한 버튼과 진행 막대를 다시 언급합니다 버튼의 onClick 이벤트를 수신합니다 클릭하면 우리는 먼저 인스턴스화하여 다운로드를 시작합니다

JSONDownlaoder 클래스를 호출 한 다음 retrieve () 메소드를 호출합니다 이제는 PDFActivity에 도달 할 차례입니다 먼저 패키지를 지정해야합니다 AppCompatActivity에서 상속하는 클래스를 만듭니다 여기에서 볼 수있는 것처럼이 클래스가 일부 인터페이스를 구현하도록 할 것입니다

정의 된 인터페이스입니다 PDFViewer 라이브러리에 있습니다 PDF 로딩을위한 오류 이벤트는 물론 완료까지들을 수 있습니다 우리가 원하는 두 개의 loadComplete () 및 onPageError () 메서드를 재정의합니다 그런 다음 onCreate () 메서드를 재정의합니다

WE는 먼저 PDFView 라이브러리를 참조 할 것입니다 우리는 또한 진행 표시 줄을 참조하고 그것을 보여줍니다 일부 데이터가 MainActivity에서 사용하도록 전달되었음을 기억하십시오 음, pDF URL입니다 우리는 의도를 통해 데이터를 다시 조사해야합니다

그런 다음 FileLoader 라이브러리를 사용하여 PDF 문서를로드합니다 우리는 내부 저장 장치에 pdf 문서를 임시 저장합니다 다운로드가 완료되면 Android PDF 뷰어 라이브러리를 사용하여 PDFView에서 렌더링합니다 파일에서로드합니다 기본 PDF 페이지는 1 페이지입니다

우리의 PDF 문서는 스크롤 할 수 있습니다 로드가 완료되면 진행률 표시 줄을 닫습니다 또한 오류가 발생하면이를 기각합니다 우리가 안드로이드 mysql을 PDF 뷰어 프로젝트를 실행하기 전에 인터넷 사용 권한을 추가했는지 확인하십시오 우리는 프로젝트를 실행합니다

Nox Player 에뮬레이터를 사용하고 있습니다 먼저 브라우저로 가서 ip 주소를 통해 php mysql에 연결할 수 있는지 확인하십시오 또는 1002

2 당신이 볼 수 있듯이 연결을 설정할 수 있습니다 그리고 실제로 브라우저에서 PHP를 실행하면 JSON 데이터가 있음을 알 수 있습니다 그래서 우리는 이제 안드로이드 PHP mysql pdf app으로 이동합니다 처음에 Gridview를 실행하면 데이터가 없습니다

그런 다음 우리는 다운로드 버튼을 클릭하고 우리의 PDF 문서는 우리의 gridview에 나열됩니다 당신은 이름과 저자와 같은 pdf 세부 정보와 함께 PDF 아이콘을 표시하고 있음을 볼 수 있습니다 그런 다음 pdf 항목을 클릭하면 읽을 수 있도록 렌더링 할 수 있습니다 우리는 우리의 애플 리케이션에 나열된 모든 PDF 문서를 열 수 볼 수 있습니다 우리의 응용 프로그램이 성공적으로 작동합니다

그게 다야 긴 튜토리얼로 우리 채널에 가입하십시오 우리는 ProgrammingWizards TV 커뮤니티의 친구들을 만들고 있습니다 또한 공유함으로써 우리를 도우며 도와주세요 소스 코드는 아래 웹 사이트 http://camposha

info에서 다운로드 할 수 있습니다 고마워, 오 클루 미

Android, Mysql, PHP, JSON – Insert, Update, Delete

프로젝트 안드로이드, mysql, PHP, json을 만드는 법 – crud localhost / phpmyadmin을여십시오 Apache와 MySql을 시작하십시오

데이터베이스를 작성하십시오 tips_crud_android_json_mysql xampp / htdocs에서 폴더 tips_crud_android_json_myqsl을 생성하십시오 tips_crud_android_json_mysql 폴더 안에 serverphp 파일을 만듭니다 이클립스 프로젝트 만들기 tips_crud_android_json_mysql 사용자 지정 실행 프로그램 선택 취소 파일 koneksijava 및 biodata

java를 작성하십시오 activity_mainxml의 이름을 mainxml로 바꿉니다 이미지 PNG를 드로어 블에 붙이기 android_manifest

xml에 권한 인터넷 추가 테이블 만들기 tabel_biodata tips_crud_android_json_mysql을 클릭 한 다음 SQL을 클릭하십시오 붙여 넣기 및 이동 tabel_biodata에 데이터 삽입 가기 사용자 인터페이스에서 삽입 serverphp에 복사하여 붙여 넣기 기록보기 새로운 기록을 삽입하고 브라우저에서보기 새 레코드를 삽입하십시오 이드에 의해 기록을 얻는다 기록 갱신 id = 4 기록 삭제 URL에 ID가 있어야합니다

서버 PHP가 끝나고 Android로 이동합니다 mainxml 복사 및 붙여 넣기 복사 및 붙여 넣기 koneksijava 복사 및 붙여 넣기 Biodatajava 복사 및 붙여 넣기 MainActivity

java 이미지 이름을 logopng로 변경하십시오 프로젝트를 실행하다 프로젝트 태그로 logcat 보여주기 브라우저에서 URL 확인 IP 1002

2에 액세스 할 수 없음 IP 주소 컴퓨터를 얻으려면 명령 프롬프트에서 ipconfig를 입력하십시오 IP 주소 컴퓨터 1921681109 브라우저에서 IP 주소 변경 koneksi

java에서 IP 주소 변경 setContentView의 뒤에 ThreadPolicy를 추가합니다 프로젝트를 실행하다 문자열에 공백이 있으면 문제를 삽입하십시오 % 20으로 공간 바꾸기

웹에플리케이션 만들기 – JS, PHP 프로그래밍 9-2-2 : php 로그인앱 구현

자 그러면 8-1php 파일은 어떻게 생겼는지를 살짝 볼껀데 우리는 지금 보고 계신 여기 내용 있잖아요? 사용자의 입력을 받고 전송하고 이런 기능들을 우리가 뒤에서 아주 자세히 배울 겁니다 그러니까 대충 보시면 돼요

대충 자 요렇게 생겼습니다 자, 여기에 보시는 것처럼 여기에 있는 이 부분 form으로 시작해서 form으로 끝나는 이 태그에 이만큼이 여기에 해당됩니다 아시겠죠? 자 그 다음에 '이제 비밀번호를 입력해 주세요'는 뭐 이거죠 당연히 그 다음에 여러분이 사용자로부터 어떤 데이터를 입력 받아서 입력받을 수 있는 그 기능은 HTML에서는 이렇게 생긴 태그를 여러분들이 사용하시면 이렇게 생긴 화면이 나타나고 자 그리고 사용자가 입력한 정보들을 서버로 전송할 때 사용하는 이 제출 버튼 이것은 이렇게 생긴 태그를 사용하시면 되는 겁니다 그리고 여기는 이 내용을 이제 우리가 form이라고 하는데 form에 대한 부분은 지금은 중요한 게 아니니까 그냥 '응 그냥 그렇구나'라고 생각하고 넘기시면 됩니다 자 어쨌든 여기서 중요한 것은 여기 form이라고 하는 태그로 감싸 있는 이 안에서 여기 input이라고 돼 있는 이 부분에다가 사용자가 어떤 정보를 입력할 거 아니에요? 그 정보는 하나가 아니라 여러 개 일수도 있습니다 예를 들면, 이런 식으로요 세 개가 되죠? 자 아무튼 그런 정보를 입력한 후에 input type= "submit" 이라고 되어 있는 아주 특수한 특수한 태그를 특수한 태그에 해당되는 이 버튼을 누르면 어떤 일이 일어나도록 HTML에는 약속이 되어 있냐면 바로 이 submit 이라고 하는 이 버튼이 위치하고 있는 form 태그 이거죠 form 태그의 속성값 중에 action이라고 하는 속성값에 이 값 있잖아요? 이 값으로 사용자가 입력한 이 정보를 전송하도록 약속되어 있습니다 자 그 말을 조금 더 브라우저 입장에서 브라우저가 동작하는 방식으로 표현을 좀 바꿔보면 사용자가 이 submit 버튼을 이 곳을 누르게 되면 이 form 태그 안에 있는 여러 input 태그들이 있을 거 아니에요 이런 것들이죠 거기에 입력된 정보들을 form 태그의 action 속성이 가리키는 페이지를 웹브라우저가 열면서 거기에다가 이 8-2php 뒤에다가 써볼게요 뒤에다가 물음표를 하고요 그리고 사용자가 입력한 정보 자 우리의 예제에서는 여기 있는 여기에 입력한 정보는 바로 이 태그에 입력된 정보라고 할 수 있잖아요? 그리고 그 태그에는 name이라고 하는 약속되어 있는 속성이 존재하는데 그 속성의 이름을 그 속성의 값이죠 여기에다가 예를 들면 이렇게 8-2

php?password 그리고 = 여기에 입력한 값 즉, 이 곳에 입력한 값을 여기 URL 뒤에다가 위치시키는 겁니다 그럼 어떻게 되겠어요? 만약에 제가 여기다가 1111을 넣으면 URL은 이렇게 이렇게 이렇게 이렇게 되는 것이죠 자, 한 번 실행을 시켜 볼께요 1111을 입력했어요 자 그럼 어떻게 된다고 말씀드렸죠? 여기에 입력한 값 즉, 여기 있는 이 곳이 입력이 된 상태이죠? 자 여기서 제가 제출 버튼을 누르면 바로 이 태그가 얘가 얘니깐 얘가 위치하고 있는 form 태그의 action 속성 값으로 이 password 값을 전달한다 라는 겁니다 해볼게요 제출을 눌렀더니 어떻게 되나요? 보시는 것처럼 URL이 이렇게 바뀐 것을 볼 수가 있죠 이런 것들은 다 약속이애요 그렇게 동작하도록 약속되어 있기 때문에 브라우저는 그렇게 동작하는 것이고 여러분은 그 약속에 따라서 이렇게 코드를 작성하시면 웹브라우저는 그렇게 동작하도록 약속되어 있는 것이죠 자 그럼 이제 뭐가 중요하냐면 8-2php로 이제 넘어왔잖아요 그럼 8-2php에게는 사용자가 전송한 데이터 즉 password 값이 무엇인지를 8-2

php 어플리케이션이 알아낼 수 있는 어떤 방법이 필요한거죠 자 그럼 이제 8-2php를 열어보겠습니다 이게 주인공이에요 form문 form 태그라고 하는 것은 우리가 뒤에서 더 자세히 살펴볼 겁니다 자 지금 보고 계신 이 화면이 이 PHP 쪽의 어떤 구현 부분인데요 이거는 일단 지금 중요한 게 아니니까 싹 지워버리고 대충 한번 눈으로 보시는 것도 좋아요 한번 보시고 지웁니다 자 일단 우리한테 첫 번째 관문은 무엇이냐면 우리가 알아야 할 첫번째는 사용자가 전송한 데이터는 ?password 는 ?password는 1111이다 이렇게 되어 있는 이 정보잖아요? 그럼 여기에 있는 사용자가 입력한 값을 얘가 알 수 있어야 되는데 그 때 어떻게 하면 되냐면 이렇게 하시면 됩니다 자 echo 그리고 이거 PHP 코드 아닙니다 사용자가 입력한 정보 중에 password의 값 이렇게 입력하면 얘가 뭐가 되냐면 여기 있는 이거 전체가 사용자가 입력한 정보 중에 password의 값이니깐 이거 있잖아요? 1111이 제가 녹색으로 표시한 이 부분으로 바뀌게 된다 라는 것이애요 자 그런데 이 녹색으로 되어 있는 부분은 PHP 코드가 아니고 제가 여러분들이 이해하기 쉽도록 한글로 쓴 것이고 딱 저거에 해당되는 사용자가 입력한 정보 중에 password의 값에 해당되는 약속되어 있는 php의 변수가 있습니다 아주 특수한 변수 여기에서 특수하는 표현을 쓰는 것은 그런데 지금까지 변수를 직접 만들었잖아요 근데 지금 제가 보여드릴 변수는 여러분이 만든 변수가 아니고 PHP가 바로 이러한 목적을 위해서 PHP가 정의한 변수

특수한 변수입니다 그게 뭐냐면 위에 것은 일단 안 지울게요 이겁니다 변수가 시작될 때 $(달러)로 시작하죠 _ (언더바) 그리고 GET 그리고 여기에다가 자 여기까지가 사용자가 입력한 정보라는 뜻이고 대괄호 그리고 따옴표 그리고 여기다가 password 이렇게 그리고 위에꺼는 필요 없는 거니까 지우고 제가 한번 실행시켜 볼게요 자 보시는 것처럼 사용자가 입력한 그 password라고 하는 정보가 화면에 표시되는 것을 볼 수가 있습니다 제가 만약에 여기 있는 1111을 다른 걸로 바꾸면 다른 걸로 바꾼 정보가 화면에 표시되는데 그 얘기가 무슨 뜻이냐면 즉, password라고 하는 뒤에 붙어있는 이 값이 우리가 PHP 애플리케이션에서 알고싶다면 PHP 코드 안에서 %_GET[" 와 "]; 사이에 우리가 알고 싶은 password라고 하는 이것을 넣어주시면 여기에 제가 강조 표시한 이만큼이 바로 이 값이 된다 라는 것이 중요해요 왜 이게 중요하냐? 바로 이 값이 우리가 만든 8-2php 애플리케이션에 입력 값이 되는 것이죠 그럼 우리는 이 입력값이 무엇이냐에 따라서 얘가 동작하는 방법을 달리할 수 있다 라는 것입니다 이러한 특징은 HTML은 할 수 없는 일이에요 자 한번 해보죠 자 그러면 사용자가 입력한 정보 즉 password 값을 우리가 일단은 편의를 위해서 password라고 하는 이 변수에 담읍시다 그럼 어떻게 되겠어요? 이걸 실행을 시키면 여기에 입력한 이 정보가 이만큼이 되고 그리고 여기에 입력한 정보가 password라는 변수에 담기겠죠 맞아요? 자 우리는 if password의 값이 1111 즉, 로그인에 성공했다면 '주인님 환영합니다' 그렇지 않다면 즉, 로그인에 실패했다면 '뉘신지?' 뜨게하면 된다는 것이죠 자 만약에 여기에 있는 패스워드의 값이 pwd라면 어디가 바뀌면 될까요? 바로 이 부분을 pwd로 바꾸면 되는 거죠 만약에 얘가 id였다면 여기를 id로 바꾸면 되는 겁니다 그리고 나중에 여러분들이 배우겠지만 이렇게 생긴 이거는 변수인데 이거있죠? 대괄호, 대괄호 안에다가 우리가 뭔가를 적어주고 이것 이것은 PHP가 가지고 있는 어떤 문법인데 아직 우리는 이 문법을 배우지 않았기 때문에 여러분들은 이것을 통으로 그냥 사용자가 입력한 값 중에 id 값이라고 통으로 이렇게 기억하시면 됩니다 자 이렇게 해서 제가 PHP

예제는 마무리 해야죠? password로 다시 바꿉시다 여기도 이렇게 password로 바꿔야겠죠 자 여기서 이 수업에서 가장 중요한 것은 바로 이 조건문이라는 것이 있기 때문에 어떠한 조건에 따라서 즉, password의 값이 무엇이냐에 따라서 이렇게 동작할 수도 있고 저렇게 동작할 수 있는 어플리리케이션 만들수 있다라는 것이 이번 시간이 가장 중요한 목표였어요 그리고 그 목표를 그 우리가 배워가는 과정에서 부가적이지만 좀 중요한 내용이었던 것이 사용자가 입력한 방법을 받아내는 방법 그것이 무엇인가를 우리가 살펴본 것이죠 그렇다면 사용자가 입력한 값을 우리가 받아내는 방법이 중요한 이유는 무엇일까요? 우리가 알고 있는 대부분의 소프트웨어들은 언제나 똑같은 일을 하는 녀석들은 별로 없어요 대부분이 우리가 어떤값을 입력하면 그 입력한 값에 따라서 다르게 동작하는 소프트웨어가 우리가 알고 있는 대부분의 프로그램이죠 계산기도 그렇고 지금 보고 계신 브라우저도 우리가 어떤값을 입력하는 것에 따라서 얘는 다르게 동작하잖아요 에디터도 마찬가지고 앱도 그렇고 게임도 그렇고 모든 게 다 그렇다는 것이죠 그렇다면 사용자로부터 뭐 꼭 사용자가 아닐 수도 있습니다만 어떤 데이터를 어떤 정보를 입력 받는 방법 여기에서는 이거 여기에서는 이거 물음표 있는 부분있죠? 이것은 중요한 내용이긴 한 거죠 다만, 우리 수업의 주인공 아니고 뒤에서도 여러 차례 등장할 거니깐 너무 긴장하지 마시고 뒤로 넘어가시면 되겠습니다