문제

이 작은 기능이 있습니다

function makewindows(){
child1 = window.open ("about:blank");
child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
child1.document.close(); 
}

내가 시도하는 것은 PHP 코드의 결과가 아니라 PHP 코드를 HTML 소스로 출력합니다. 이것은 이전에 잘 작동했으며,이 동작을 초래하도록 변경 한 내용이 확실하지 않습니다.

나는 지금 모든 코드를 붙여 넣었습니다. UpdateByQuery를 호출하는 링크에 의해 오류가 생성되어 Makewindows가 정확하게 구문 분석되는 것을 방지합니다. 그러나 UpdateByQuery에 무엇이 잘못되었는지 잘 모르겠습니다.

function updateByQuery(layer, query) {
   url = "get_records.php?cmd=GetRecordSet&query="+query+"&sid="+Math.random();
   update(layer, url);
}
도움이 되었습니까?

해결책

다른 사람들이 이미 말한 것처럼 PHP가 구문 분석 한 파일에 여전히 가지고 있다고 가정합니다. 그런 다음 PHP-Parser를 혼동하여 PHP- 태그를 인식하지 못하는이 코드 스 니펫 위의 무언가 일 것입니다.

이를 테스트하려면이 기능 전에 다른 것을 출력하십시오.

또한 Client1 전에 "var"를 사용하거나 Client1은 전역 범위에 있습니다.

업데이트 1PHP 코드를 삽입하려고했고 파산 했으므로 문제는 서버가 파일을 구문 분석하지 않는다는 것입니다.

서버가 실제로 .js 파일을 구문 분석하는지 테스트하려면 (내가 믿는 기본 설정이 아님) 새 파일을 만듭니다. test.js

<?php echo "This is a test"; ?>

열기 test.js 브라우저에 파일을 파일하고 페이지 소스를보십시오. PHP 태그가있는 경우 서버는 .js 파일을 구문 분석하지 않습니다.

업데이트 2PHP가 .js 파일에서 작동하는 경우 이와 같은 기능을 다시 작성하십시오 (지금 PHP-Server에 액세스 할 수 없어서 테스트하지 않은 죄송합니다).

<?php    
echo "function makewindows(){var child1 = window.open (\"about:blank\"); " .
"child1.document.write(\"" . htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES) . "\");" . "child1.document.close(); }";    
?>

다른 팁

최근 에이 파일을 PHP 구문 분석 파일 (예 : .phtml/.php)에서 .js 파일로 옮겼습니까? 실행할 것으로 예상되는 PHP는 클라이언트에게 전달하기 전에 PHP 파서가 구문 분석해야합니다. 원래 .php 파일에 있으면 구문 분석/ 실행되어 잘 작동했을 것입니다.

그러나 .js 파일은 기본적으로 PHP에 의해 구문 분석되지 않습니다. 어쩌면 그들은 어느 시점에 있었지만 서버 관리자는 최근에 무언가를 업그레이드 하고이 동작을 잃어 버렸습니까? 로컬 구성 파일 (Apache, .htaccess)을 사용하여 다시 활성화 할 수 있습니다.

이 코드는 브라우저로 전송되기 전에 PHP가 구문 분석 한 파일에 있어야합니다. ".php"확장자가 있는지 확인하십시오 (또는 Apache/(또는 기타)에 PHP를 통해 사용중인 모든 확장자를 넣도록 구성되어 있음). 또한 PHP가 올바르게 설치되어 작동하는지 확인하십시오.

웹 서버에서 페이지를 실행하고 있는지 확인하십시오. 그런 식으로 : http://localhost/yourpage.php 그리고 파일 자체에서 직접적으로 다음과 같은 것이 아닙니다. file://yourpage.php

이것이 도움이 될지 확실하지 않지만 모범 사례는 JavaScript를 사용하여 새 창에 쓸 때마다 문서를 열고 닫아야한다고 지시합니다. 이것을 시도해 볼 수 있습니까?

function makewindows(){
  var child1 = window.open ("about:blank");
  child1.document.open();
  child1.document.write("<?php echo htmlspecialchars(json_encode($row2['ARTICLE_DESC']), ENT_QUOTES); ?>");
  child1.document.close(); 
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top