2012-03-06 4 views
1

아포스트로피 또는 세션에서 다른 HTML 특수 문자가없는 한 아래 제공된 코드를 사용하면 값을 전달하려고합니다. htmlspecialchars() 및 htmlentities() 모두 성공하지 못했습니다. 도와주세요. 감사, 제임스POST에서 다른 페이지에 세션 변수

<?php 
<form action='ashlyBlogBig2.php' method='POST'> 
    <input type='hidden' name='title' value='{$_SESSION['title']}'/> 
    <input type='hidden' name='time' value='{$_SESSION['time']}'/> 
    <input type='hidden' name='blog' value='{$_SESSION['blog']}'/> 
    <input type='submit' name='to you' class='productButtons' value='Read On. . . .'> 
</form> "; 
?> 
+0

샘플 데이터, 예상 출력 및 실제 출력을 보여주십시오. 그리고 정확하게 "않는 한"잘 작동하는 것을 정의하십시오. – deceze

답변

4

htmlentities() 두 번째 PARAM로 사용 ENT_QUOTES는 모두 단일 및 이중 따옴표 변수의 내부 인코딩되어 있는지 확인합니다. htmlentities() 이후

echo "<input type='hidden' name='blog' value='" . htmlentities($_SESSION['blog'], ENT_QUOTES) . "'/>" 

IT는 따옴표 문자열 내부 방향 변수, 배열 요소를 보간하거나 할 수있는 속성을 객체가 될 수없고, 함수 호출이다. 현재 열려있는 문자열을 닫고 함수 호출이 반환 될 때 연결해야합니다.

에 대한 ENT_QUOTES 플래그는 작은 따옴표와 큰 따옴표를 모두 인코딩하므로 HTML 속성 (이미 인용 된 문자열) 내에서 사용하기에 적합한 문자열을 만듭니다.

+0

방금이 방법을 시도해 보았습니다! 추가 된 큰 따옴표와 연결이이 작업을 수행하는 이유는 무엇입니까? 도와 주셔서 감사합니다. – James30

+0

@JamesHowardHemsley 위의 설명을 조금 더 추가했습니다. –

+0

다시 한 번 감사드립니다. MIchael – James30