2012-03-08 2 views
0

저는 Securimage가 만든 보안 문자를 사용하고 있습니다.왜이 HTML 코드는 PHP로 반향 출력 할 때만 제대로 작동합니까?

나는 HTML 섹션에 다음 코드를 작성할 때 :

<tr> 

<td><img id='captcha' src='/securimage/securimage_show.php' height='50' 
width='135' alt='CAPTCHA Image' /><br> 

<a href='' onclick=\"document.getElementById('captcha').src 
'/securimage/securimage_show.php?' + Math.random(); return false\"> 
[ Different Image ]</a></td> 
<td><input type='text' name='captcha_code' size='20' maxlength='6' /></td> 

<tr> 

을 ... 그리고 따라서 모든 텍스트는 텍스트 필드에 입력 잃는 보안 문자, 전체 페이지 새로 고침을 변경하려면 "다른 이미지"를 클릭 .

하지만 모든 코드를 가지고 PHP echo 문에 넣어 때 보안 문자는 전체 페이지 (내가 원하는 것입니다)

왜 이런 일이 않는 너희들이 알아 새로 고침없이 변경? 이것은 정말로 혼란 스럽다!

미리 감사드립니다.

+0

'onclick'주변의'\ "를 제거하십시오. 따옴표를 사용하지 않아도됩니다. –

+0

안녕하세요, Rocket, 답변 해 주셔서 감사합니다. 예, 백 슬래시를 제거하면 문제가 해결되었습니다. 이해가 안됩니다. 왜 이렇게하면 html이 새로 고침을 유발하게 될까요? Thanks again – eric01

+0

'href'는 '' ''이며 동일한 페이지를 의미하기 때문에 페이지를 새로 고칩니다. 'onclick' \ "'s이므로 정상적으로 링크를 따라 간다. –

답변

3

onclick 속성에서 백 슬래시를 제거해보십시오. PHP에서 그 것을 반향시킬 때, 아마도 PHP가 그것을 녹여 버릴 것입니다.

+0

안녕하세요, 네 말이 맞아. 고마워. 위의 주석에서 말했듯이 백 슬래시가 html로 인해 전체 페이지를 새로 고치는 것이 이상하다는 것을 알았습니다. 고마워요. – eric01

+0

"아마도 PHP가 녹아 버렸을 것입니다." 'echo "\" "'이것은'''를 출력합니다. 따옴표 안에서 따옴표를 이스케이프 처리해야합니다. –

+0

@ eric01 : 그것은 상쾌하지 않습니다. 'onclick '이 읽히지 않기 때문에'href' 다음에옵니다. –

관련 문제