2011-03-10 2 views
2

PHP가 HTML 5 geolocation을 사용할 수 있습니까?PHP가 자바 스크립트를 사용하지 않고 HTML 5 위치 정보를 사용할 수 있습니까?

아이디어가 네비게이터입니다. 위치는는 자바 스크립트를 사용하는 경우에만 사용할 수 있습니다.하지만 장치가 자바 스크립트를 해제하거나 자바 스크립트를 지원하지 않는 경우 어떻게해야합니까?

PHP는 navigator.userAgent을 뽑을 수 그들은 $ _SERVER [ 'HTTP_USER_AGENT']에 의해 그것을 할. 나는 그들이 PHP를 사용하여 javascript를 사용하지 않고 navigator.geolocation에 액세스 할 수있는 방법이 있어야 함을 알고 있습니다. 문제는 무엇입니까?

감사합니다.

답변

3

수 없습니다. PHP는 서버에서 작동하며 클라이언트의 브라우저에 액세스 할 수 없습니다.

html이 완전히 생성되면 PHP의 작업이 완료됩니다. 그런 다음 완전한 html이 네트워크를 통해 클라이언트에 전달됩니다.

+0

그래서 그들은 어떻게 사용자 에이전트를 식별 했습니까? – kedomonzter

+0

@khem : 네, ** HTTP_USER_AGENT는 신뢰할 수없는 변수이고 아무 것도 넣을 수 없으므로 ** 사용자 에이전트를 추측 할 수 있습니다 **. 그리고 당신도 옳은 생각을했습니다 - 당신은 여전히 ​​클라이언트에 대한 액세스 권한이 없기 때문에 - 내 대답을보십시오. 내가 포르쉐 911을 운전한다고 말했지. 뭐라구? 내 차로 뭔가 할 수 있니? 아닙니다. 모델 만 알면됩니다. 너는 내가 거짓말을하지 않았다는 것을 확신 할 수 없다. – zerkms

+0

사용자 에이전트는 요청과 함께 패킷 헤더로 전송됩니다. –

0

대부분의 브라우저는 HTTP 요청과 함께 사용자 에이전트를 전송하기 때문에 서버가 사용자 에이전트에 액세스 할 수 있습니다.

그러나 내가 아는 한 브라우저는 HTTP 요청과 함께 위치 정보를 보내지 않으므로 서버 스크립트는 해당 데이터에 액세스 할 수 없습니다.

JavaScript를 사용하지 않고 서버에서 할 수있는 최선의 방법은 IP를 기반으로 위치를 추측하는 것입니다.

사용자가 자바 스크립트를 사용하도록 설정 한 경우 서버에 위치를 전송할 수 있습니다 (세션 또는 프로필의 AJAX 요청 및 저장 또는 숨겨진 입력 필드에 좌표 저장). 사용자가 자바 스크립트를 사용할 수없는 경우 IP.

+0

시간 주셔서 감사합니다. 이미 문제가 해결되었습니다 (자바 스크립트가 해제 된 경우) ... – kedomonzter

관련 문제