LINUX-HTML TIPS


  (2004-01-12 11:24:17, Hit : 7842, Vote : 1029
 Java script -> php

2. Java script -> php

<?php
if (isset($width)) {
  echo "화면 넓이는 : ". $width ."<br />\n";
} else {
  echo "<script language=\"javascript\">\n";
  echo "location.href=\"jvs-php.php?" . "width=\" + screen.width;\n";
  echo "</script>\n";
  exit();
}
?>

도저히 변수를 넘길 방법이 없어 html get방식(*.php?width=xxx)으로 변수를 넘기고 이를 도로 받아($width) php에서 사용하게 하는 조금은 복잡한 방법을 쓸 수 밖에 없다.

if (isset($width)) -> $width(자바스크립트에서 넘겨준 변수)가 없으면.. 당연히 없으니 else로 감.
echo로 자바스크립트를 모두 쓴다. 이러면 자바스크립트가 출력되어 자바스크립트를 실행시키게 된다.
자신의 php 를 다시 실행시키는데 여기에 get 방법으로 인수/변수를 넘긴다.
이를 다시 위에 있는 $width로 넘겨지므로 이 넘을 이제는 맘대로 사용할 수있다.

여기를 실행시켜 보자!
http://www.earthlove.co.kr/jvs-php.php

원 사이트 설명을 들어보자.
(http://www.php.net/manual/kr/faq.html.php#faq.html.javascript-variable 옮겨적음)

어떻게 하면 자바스크립트에서 PHP로 변수를 넘겨줄수있습니까?

자바스크립트는 (주로) 클라이언트측 기술이고 PHP는 (주로) 서버측 기술이기 때문에, 그리고 HTTP는 "statless" 프로토콜이기 때문에 두 언어는 직접적으로 변수를 공유하지 못합니다.

하지만, 둘 사이에 변수를 넘겨주는 것은 가능합니다. 이를 수행할수 있는 방법으로는 PHP로 자바스크립트 코드를 생성하는 방법입니다. 그리고 그것을 브라우저가 리프레쉬하도록 하고 PHP스크립트로 특정 변수를 넘겨주게 됩니다. 예를 들면 아래와 같이 이를 수행할수 있습니다. -- PHP코드는 스크린의 높이와 넓이를 보유하도록 해줍니다, 이것은 보통 클라이언트측에서만 가능한것입니다.

<?php
if (isset($_GET['width']) AND isset($_GET['height'])) {
  // output the geometry variables
  echo "Screen width is: ". $_GET['width'] ."<br />\n";
  echo "Screen height is: ". $_GET['height'] ."<br />\n";
} else {
  // pass the geometry variables
  // (preserve the original query string
  //   -- post variables will need to handled differently)

  echo "<script language=\"javascript\">\n";
  echo "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
            . "&width=\" + screen.width + \"&height=\" + screen.height;\n";
  echo "</script>\n";
  exit();
}
?>

여기를 실행시켜 보자!
http://www.earthlove.co.kr/jvs-php.html

위와 거의 같은 것이나 더 근사해 보이는 것이다.




php4로 업글하고 나서 헤맨 일... <?php or <?
php -> java script 변수 넘기기

Copyright 1999-2019 Zeroboard / skin by zero