2014-02-28 3 views
1

전자 메일과 함께 배열 세션이 있습니다. 화면에 표시하려고하는데 아무 것도 나타나지 않습니다.PHP로 간단한 세션 문제가 발생했습니다.

$_SESSION['extralistids'] = array('<[email protected]>', '<[email protected]>', '<[email protected]>', '<[email protected]>', '<[email protected]>'); 
echo 'You have visited this page ' . $_SESSION['extralistids'][$_SESSION['counter']] . ' -for the first time.'; 

나는 이것을 사용하지 않고 그것을 잘 출력 :

$_SESSION['extralistids'] = array('abc', 'def', 'ghi', 'jkl', 'def', 'ghi', 'jkl', 'def', 'ghi', 'jkl', 'def', 'ghi', 'jkl'); 

나는 큰 따옴표와 작은 따옴표를 교체 해봤 - 기쁨을. 나는 여기서 명백하게 잘못된 것을하고 있지만 실수를 발견 할 수없는 것처럼 보입니다 - 내가 잘못 가고있는 생각은 있습니까?

답변

1

웹 페이지에 표시하고 가정, 당신은 할 필요가 :

echo 'You have visited this page ' . htmlentities($_SESSION['extralistids'][$_SESSION['counter']]) . ' -for the first time.'; 

때문에 <>는 HTML에서 특별한 의미가있다. 브라우저는 표시 할 텍스트가 아닌 <[email protected]>을 HTML 태그로 처리합니다. htmlentities은이를 &lt;[email protected]&gt;으로 변환 한 다음 의도 한대로 표시합니다.

1

대괄호 (<>.)로 감싸 져있어 HTML처럼 보이지 않으므로 아무 것도 표시되지 않습니다. 값을 반향 출력 할 때 htmlentities()을 사용해야하므로 대괄호가 엔티티로 표시되고 HTML 문자로 해석되지 않습니다.

echo 'You have visited this page ' . htmlentities($_SESSION['extralistids'][$_SESSION['counter']]) . ' -for the first time.'; 
+0

그게 해결되었습니다. – Del

관련 문제