2017-11-05 1 views
0
에서 '#'뒤에

나는 매개 변수 값을 얻을 수 없습니다, 난 내 URL에 위의 값을 설정하려는 경우 URL의 값은 '#'
_GET 매개 변수는 PHP

말을 문자가있는 경우 매개 변수와 나는이 같은 URL을 설정할 것 (123)


클라이언트 = 안녕하세요 # 56
코드 =
www.blah.com/index.php?client=hello#56 PHP에 그들을 인쇄 & 코드 = 123

$client= isset($_GET['client']) ? $_GET['client'] : "" ; 
$code= isset($_GET['code']) ? $_GET['code'] : "" ; 


echo "This is client : $client <br /> "; 
echo "This is code : $code <br />"; 

출력이 될 것 '

이 클라이언트입니다 : HELLO

만, 매개 변수의 나머지가 표시 얻을 해달라고.
일부 테스트를 한 후에 클라이언트 매개 변수의 '#'다음에 오는 모든 것이 표시되지 않을 것으로 나타났습니다.
왜 이런가요? 어떻게 극복 할 수 있습니까?

+2

부분을 볼'조각을 호출하고 기본적으로 서버에 전달되지 않습니다. 그것을 분석하고 서버에 보내려면 몇 가지 자바 스크립트가 필요합니다. url에 추가하기 전에'urlencode' 매개 변수를 사용하십시오. –

+0

이 도움이 될 수 있습니다. https://stackoverflow.com/questions/12427431/passing-strings-having-special-characters –

+0

'#'은 대개 'id'가 값과 같은 html 파일을 나타냅니다. '#'의 뒤에 # – SuperDJ

답변

0

이 파일에 대한 요청이있는 경우, urlencode 문자열을 보내기 전에. 인코딩하지 않고 데이터를 보내면 많은 문제가 발생할 수 있습니다. 예를 들어, 물음표 (?)와 같음 (=) 조합은 새로운 GET 변수를 트리거하고 실제 변수 get의 데이터는 손실됩니다.

인코딩/디코딩에 대한 자세한 내용은 #`후 PHP URL Encoding/Decoding

+0

디코딩/인코딩 섹션을 심판 한 후에 나는 그것을 알아낼 수있었습니다. 감사! –