2013-01-13 4 views
-3

저는 직접적으로 가능하지 않다고 생각합니다. 그래서 앵커에 액세스하여 PHP에 전달하기 위해 자바 스크립트를 사용하는 방법을 고려했습니다.PHP에서 #anchors에 어떻게 액세스합니까?

+6

"액세스"는 무엇을 의미합니까? – Brad

+1

확대 할 수 있습니까? 누군가가 뭔가를 클릭하거나 무엇을하면 PHP에 정보를 전달하려고합니까? 정확히 무엇을하려는 거니? – Matt

+0

int 그는 get을 통해 변수를 전달하는 것과 같은 방식으로 #cars를 PHP에 전달해야하므로 예를 들어 자동차에 대한 데이터베이스를 쿼리 할 수 ​​있습니다. –

답변

0

URL의 해시 부분 (즉, # 이후의 모든 부분)을 의미하는 경우 웹 브라우저에서 서버로 전송하지 않습니다. 따라서 PHP에서 액세스 할 수 없습니다.

서버에 해시 (예 : JavaScript 사용)를 알리는 데 적합한 방법 인 것 같습니다. window.location.hash으로 브라우저에서 해시에 액세스 할 수 있습니다. 이를 서버에 보내려면 XMLHTTPRequest 객체를 사용하여 서버에 POST 할 수 있습니다. jQuery를 사용

+0

예,하지만 window.location.hash를 PHP 변수에 전달하는 방법은 무엇입니까? –

2

: 우리가 corectly 그것을 대답하는

$.post('getHash.php', {hash: window.location.hash}); 

당신의 getHash.php 파일 여전히

<?php 
    $hash = $_POST['hash']; 
    /* ... */ 
?> 

보다, 당신의 문제는 충분한 정보를 제공하지 않습니다.

+0

내가 필요로하는 것처럼 보이지만 그저 할 수 있습니까? 하지만 URL에 #cars로 표시되지는 않습니다. 나는 사람들이 어떤 식 으로든 그 주소를 북마크하거나 유지할 수 있어야한다. 트위터의 해쉬 뱅처럼. twitter.com/#!/cars –

+1

왜 해시 태그를 사용합니까? URL에 변수를 저장하고 다음과 같이 PHP에 액세스 할 수 있습니다. www.yoursite.com/page.php?hash=cars – Cristy

+0

@JamesVince : [Twitter에서 더 이상 hashbangs를 사용하지 않습니다.] (http://storify.com /timhaines/hashbang-conversation?awesm=sfy.co_aUW&utm_campaign=&utm_medium=sfy.co-twitter&utm_source=t.co&utm_content=storify-pingback). –

관련 문제