2014-02-17 2 views
-1

저는 XAMPP를 사용 중이며 GET에 의해 전달 된 입력을 인쇄해야하는 PHP 사이트가 있습니다. URL은 http://127.0.0.1/profile.php?id=643bqmxf9rj62입니다. accId =없이 인쇄됩니다 무엇HTML/PHP GET은 숫자 입력 만 검색합니다.

$accId= $_GET['id']; 
echo "accId = " + $accIdd; 

단순히 643입니다 : PHP 파일에서

나는이 코드를 가지고있다. 숫자가 아닌 첫 번째 문자 뒤에 오는 문자는 모두 잘립니다.

앞에 숫자가없는 URL에 bqmxf9rj62을 전달하면 스크립트에서 0을 인쇄합니다.

전 웹 사이트를 만들었지 만, 왜 이런 일이 발생하는지 알 수 없습니다.

답변

4

연결에 잘못된 연산자를 사용하고 있습니다.

. 그래서 코드가 있어야한다 : PHP에서, 연결 연산자는 기간/점이다

echo "accId = " . $accIdd; 

A는 플러스 + 자바 스크립트의 연결 연산자입니다 서명합니다.

여기서 +을 사용한다는 것은 실제로 연결하는 것이 아니라 함께 추가한다는 것을 의미하므로 PHP는 blah + 643etc = 643을 생각하고 있습니다.

+0

와우, 내가 PHP를 마지막으로 만난 지 꽤 오래되었습니다. 이것은 지금까지 나를 화나게하는 방법을 생각하면 들썩 들썩합니다. 고맙습니다. 사이트가 제공되는 즉시 답변을 수락하십시오. – spacecoyote

+0

다음은 PHP 설계자가 플러스 대신 도트 연산자를 사용하는 이유에 대한 자세한 내용입니다. http://stackoverflow.com/questions/1866098/whya-a-full-stop-and-not-a-plus-symbol- for-string-concatenation-in-php – gat

관련 문제