2012-11-17 2 views
2

PHP 코드를 자바 함수에 전달하는 방법을 알아 냈습니다.하지만 변수를 가져 오는 대신 코드에 삽입해야합니다. 알림(); 윈도우 얻을 수 <?php echo $a ?><?php echo $c ?> 잘하면 그것은 내가 간과하고 뭔가 작은거야,하지만 내가 왜 포럼에 대한 응답에서 라인에 대한 라인을 복사하고 사용자가 그것이 작동한다고 말한 것처럼 이것이 작동하지 않는 이유는 모르겠지만 그 코드가 작동했을 때 (제 2 코드 [/ code]) 동일한 오류를 반환하는 친구가있었습니다.자바 변수 함수에 PHP 변수 전달 (특정 코드 오류)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
"http://www.w3.org/TR/html4/strict.dtd"> 
<?php 
$a = 'Fatber Christmas'; 
$b = '27 Sunshine Street /n America'; 
$c = nl2br($b); 
?> 

<html> 

<head>  
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Kenneth So Photography</title> 
    <link rel="stylesheet" href="kennethsostylesheet.css" type="text/css"> 
    <link rel="shortcut icon" href="Photos/favicon.png" type="image/png"> 

    <script type="text/javascript"> 
    function test(a,b) { 
    alert(a); 
    alert(b); 
} 
    </script> 

    <script type="text/javascript" src="picScript.js"></script> 
</head> 

<body> 

    <a onClick="test('<?php echo $a ?>', '<?php echo $c ?>');">LINK</a> 



    <div id="headerBar"> 
     <div id="logo"> 
      <a href="javascript:void(0)" ><img src="Photos/FinalizedLogo.png" alt="logo" height="100px" width="400px" onclick="setNum(1)"></a> 
     </div> 
     <div id="titleBar"> 
      <p> 
      <a href="javascript:void(0)" onclick="setNum(1)">Home</a> | 
      <a href="javascript:void(0)" onclick="setNum(2)">Automotive</a> | 
      <a href="javascript:void(0)" onclick="setNum(3)">Nightlife</a> | 
      <a href="/about.html">About Me</a> | 
      <a href="/contact.html">Contact</a> 
      </p> 
     </div> 
    </div> 
    <div id="imageBox"> 
     <div id="imageView"> 
     </div> 

     <div id="imagePreview"> 
     </div> 
    </div> 
</body> 
</html> 

동일한 디스플레이 결과 만 코드를 스탠드

<?php 
$a = 'Fatber Christmas'; 
$b = '27 Sunshine Street /n America'; 
$c = nl2br($b); 
?> 
<html> 
<head> 
<script type="text/javascript"> 
function test(a,b) { 
    alert(a); 
    alert(b); 
} 
</script> 
</head> 
<body> 
<a onClick="test('<?php echo $a ?>', '<?php echo $c ?>');">LINK</a> 
</body> 
</html> 

가 너희들을 감사!

답변

4

주석이 지적한대로 코드가 올바른지 - 출력 할 매체 (데이터베이스, 다른 프로그래밍 언어, HTML 등)에 대한 변수를 항상 준비해야합니다. .

문제는 PHP가 구문 분석되지 않는다는 것입니다.

이유가 될 수있다 : 당신은 PHP는 서버에서 사용하지 않는

  • ;
  • 파일 이름이 예를 들어 .php 대신 .html으로 끝나면 파일이 PHP 파일로 인식되지 않습니다.
  • 파일을 서버에서 요청하지 않고 파일 시스템에서 요청합니다.
+0

잘 PHP는 내가 문제가 아니란 것을 알기 위해 이메일을 보내기 위해 실행되는 양식을 가지고 있기 때문에 서버에서 사용 가능합니다. 확장명이 .html 인 경우 서버에서 php를 실행하지 않는 경우에만 문제가 발생합니까? 나는 당신이 문제없이 .html 페이지 내에서 php를 실행할 수 있고 또한 .php로 파일을 실행했고 같은 문제가 발생한다는 것을 알고있다. 파일 시스템에서 파일이 요청되고 있는지 어떻게 확인할 수 있습니까? 나는 변수가 로컬로 정의되어 서버 측을 저장할 수 없다고 생각하면 ... 그것은 필자가 별도의 .php 파일을 만들고 파일을 호출해야만하는 경우에 유용 할 것입니다. – pcort

+0

@PCort 파일 이름의 확장자는 무엇입니까? – jeroen

+0

확장명은 .html입니다. 질문이 생기면 html로 PHP 인라인을 실행할 수 없습니까? 아니면 특정 경우에만 해당됩니까? – pcort

1

/n은 (는) 새로운 라인이 아닙니다. \ n입니다.

<?php 
$a = 'Fatber Christmas'; 
$b = '27 Sunshine Street \n America'; 
$c = nl2br($b); 
?> 

테스트를 거쳤으며 잘 작동합니다.

또한 파일을 .html이 아닌 .php 형식으로 저장 하시겠습니까? 짐작할 수 있듯이 PHP는 .html 파일에서 작동하지 않습니다. .php로 저장해야하며 jeroen이 말한 것처럼 php가 활성화되어 있는지 확인해야합니다.

+0

'/ n'은 문자열이 작은 따옴표로되어 있기 때문에 실제로 중요하지 않습니다. – jeroen

+0

한숨 ... 나는 그것을 얻지 않는다. 내가 그것을 시험해 볼 때마다 FUBAR'd가되어서 변수 값을 얻지 못한다. 서버 측 또는 클라이언트 측인지는 알 수 없다. 사이트가 호스팅되는 Godaddy 서버에서 실행했거나 WAMP 서버를 사용하지 않고 Firefox, Chrome 및 Opera에서 실행하는 것과 동일한 문제가 발생합니다. 왜 그렇지 않은지 전혀 모르겠습니다. 나를 위해 일해. – pcort

+0

@jeroen - 글쎄, 그냥 내 자신의 서버에서 자신의 페이지를 실행, nl2br \ n 있지만 예상대로/n 작동합니다. 작은 따옴표 나 큰 따옴표. 필자가 작성한 모든 html 전자 메일은 새로운 줄 표시 문자로 큰 따옴표를 사용하므로 잘 가정했으나이 경우에는 정상적으로 테스트됩니다. 그림 –

0

나는 코드를 테스트했다. 그러나 그것은 나를 위해 잘 작동합니다.

i)I think you do not have php enabled server. 
ii) Check your server that accepts the javascript code and php code 
iii) May be plugins problem. So if you are using netbeans, see the php tag and javascript variable in different color. So u can easily recognize the mistakes.