it-source

자바스크립트 기능에서 php를 어떻게 사용할 수 있습니까?

criticalcode 2023. 9. 28. 08:27
반응형

자바스크립트 기능에서 php를 어떻게 사용할 수 있습니까?

<html>
    <?php
        $num = 1;
        echo $num;
    ?>
    <input type="button"
           name="lol" 
           value="Click to increment"
           onclick="Inc()" />
    <br>
    <script>
        function Inc()
        {
        <?php
            $num = 2;
            echo $num;
        ?>
        }
    </script>
</html>

이것이 지금까지 내가 가지고 있는 것이고, 작동하지는 않지만, 나는 아약스 같은 것을 사용해야 한다고 생각하지만 나는 무엇을 해야 할지 모르겠습니다.

감사해요.

자바스크립트로는 PHP 코드를 실행할 수 없습니다.사용자가 페이지를 받으면 서버는 모든 PHP 코드를 평가하고 실행한 후 해당 페이지를 꺼냅니다.예를 들어, 다음과 같이 작동합니다.

alert( <?php echo "\"Hello\""; ?> );

서버는 이에 대해 다음과 같이 평가할 수 있습니다.

alert("Hello");

그러나 PHP에서는 어떤 작업도 수행할 수 없습니다.

다음 내용:

function Inc()
{
<?php
$num = 2;
echo $num;
?>
}

단순히 이에 대한 평가가 이루어졌습니다.

function Inc()
{
    2
}

PHP 스크립트를 호출하지 않으려면 파라미터 집합에서 값을 반환하는 다른 페이지를 호출해야 합니다.

예를 들어, 다음과 같이 작동합니다.

각본을 짜다

$num = $_POST["num"];
echo $num * 2;

자바스크립트(jQuery) (다른 페이지에 있음)

$.post('script.php', { num: 5 }, function(result) { 
   alert(result); 
});

이것은 10에게 알려줄 것입니다.

행운을 빕니다.

편집: 페이지에 숫자를 늘리는 것만으로도 jQuery에서 쉽게 할 수 있습니다. http://jsfiddle.net/puVPc/

서버 코드와 클라이언트 코드를 혼동하신 것 같습니다.

자바스크립트는 웹페이지와 같이 서버로부터 데이터를 받은 후 클라이언트에서 실행됩니다.

PHP는 데이터를 전송하기 전에 서버에서 실행됩니다.

따라서 자바스크립트와 php로 상호작용하는 방법은 두 가지가 있습니다.

위와 같이 hp로 html을 생성하는 방법과 동일하게 hp로 javascript를 생성할 수 있습니다.

또는 javascript에서 AJAX 요청을 사용하여 서버와 상호 작용할 수 있습니다.서버는 데이터로 대응할 수 있고 자바스크립트는 그것을 수신하고 그것으로 무언가를 할 수 있습니다.

기본 사항으로 돌아가서 서버와 클라이언트의 관계에서 HTTP가 어떻게 작동하는지 연구하는 것을 추천합니다.그런 다음 서버 사이드 언어와 클라이언트 사이드 언어의 개념을 공부합니다.

그럼 ajax와 함께 튜토리얼을 수강하면 개념을 이해할 수 있습니다.

행운을 빌어요, 구글은 당신의 친구입니다.

당신은 php로 스크립트를 사용합니다.

<?php

        $num = 1;
        echo $num;

    echo '<input type="button"
           name="lol" 
           value="Click to increment"
           onclick="Inc()" />
    <br>
    <script>
        function Inc()
        {';
            $num = 2;
            echo $num;

        echo '}
    </script>';
?>

단순히, 자바스크립트 변수를 메아리쳐야 하기 때문에 당신의 질문이 잘못된 것처럼 들렸습니다.

<?php
        $num = 1;
        echo $num;
        echo "<input type='button' value='Click' onclick='readmore()' />";
   		echo "<script> function readmore() { document.write('";
        $num = 2;
        echo $num;
        echo "'); } </script>";
?>

위의 주어진 코드에서

javascript 변수에 php 값을 할당합니다.

<html>
<?php
 $num = 1;
 echo $num;
?>
  <input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()">
  <br>
  <script>
   var numeric = <?php echo $num; ?>"; //assigns value of the $num to javascript var             numeric 
  function Inc()
   {
     numeric = eVal(numeric) + 1;
     alert("Increamented value: "+numeric);
   }
  </script>
</html>

PHP와 자바스크립트의 조합 중 하나는 PHP 값에 자바스크립트 값을 할당할 수 없다는 것입니다.자바스크립트 변수에 PHP 값을 부여할 수 있습니다.

클라이언트측 자바스크립트에서 php를 실행하는 방법이 있습니다(여기서 서버측 js는 언급하지 않음).이것이 아주 좋은 생각인지는 모르겠지만, 당신은 할 수 있습니다.일부 사람들이 지적한 것처럼 php는 서버에서 평가되어 브라우저에 정적인 것으로 반환되고, 브라우저는 서버에서 추가된 데이터와 함께 javascript를 실행합니다.

js 파일을 php 파일로 평가하도록 서버에 말해야 합니다. 아파치 서버를 실행하는 경우 다음과 같은 htaccess-file로 이 작업을 수행할 수 있습니다.

<FilesMatch "\.js$">
SetHandler application/x-httpd-php
Header set Content-type "application/javascript"
</FilesMatch>

자세한 내용은 다음과 같습니다.

htaccess를 사용하여 js/css를 PHP 파일로 구문 분석

http://css-tricks.com/snippets/htaccess/use-php-inside-javascript/

편집: http 페이지 요청에서 이 트릭은 js 확장자가 있는 파일을 php 컴파일러로 구문 분석합니다.js 파일의 모든 php 부분이 실행되고 서버 데이터가 추가된 js 파일이 브라우저로 전달됩니다.

그러나 OP는 html 형식의 파일(아마도 php 확장자가 있는)을 사용하고 js 파일은 사용하지 않으므로 이 특정한 경우에는 제 제안이 필요하지 않습니다.

제시된 js 솔루션이 바람직한 방법입니다.변수를 서버에 저장해야 할 경우 ajax를 사용하여 해당 변수를 서버로 전송합니다.

이 방법을 사용해 보십시오.

<html>
   <?php $num = 1; ?>
   <div id="Count"><?php echo $num; ?></div>
   <input type = "button" name = "lol" value = "Click to increment" onclick = "Inc()">
   <br>
   <script>
   function Inc() {
       i = parseInt(document.getElementById('Count').innerHTML);
       document.getElementById('Count').innerHTML = i+1;
   }
   </script>
</html>

일부 의견에도 불구하고, 경우에 따라서는 자바스크립트(예: AJAX 사례)에서 PHP 기능에 접근하는 것이 정말 필요합니다.

이런 경우 mwsX 라이브러리를 사용하여 자바스크립트에서 PHP 기능을 사용할 수 있습니다.

mwsX 라이브러리: https://github.com/loureirorg/mwsx

반품만 하면 됩니다.

<html>
    <?php
        $num = 1;
        echo $num;
    ?>
    <input type="button"
       name="lol" 
       value="Click to increment"
       onclick="Inc()" />
    <br>
    <script>
        function Inc()
        {
            Return <?php
            $num = 2;
            echo $num;
            ?>;
        }
    </script>
</html>

언급URL : https://stackoverflow.com/questions/8471945/how-can-you-use-php-in-a-javascript-function

반응형