2012-02-05 2 views
-2

친애 유래 구성원 간의 변수를 교환하는 방법이,자바 스크립트와 PHP

내가 드루팔의 웹 사이트를 구축, 그리고 나는 userpoint를 구축하여 사이트와 관련된 회원을 얻을 수있는 재미있는 방법을 만들려고하고 있어요 시스템은 시스템이 모두 갖추어져 있지만, 나는 '타이틀'을 살 수있는 가게를 만들고자합니다. 내 자바 스크립트

이 내가 오류 처리의 비트와 함께, 가게에 대한 쓴 스크립트입니다,하지만 난 문제와 붙어있어,

, 난 두 변수와 함수 buyitem()를 가지고, 느릅 나무 내가 내 데이터베이스에서 모든 것을 검사하는 내 PHP 함수에서 사용하고 싶습니다. 자바 스크립트에서 외부 PHP 파일을 사용하지 않고 쓴 PHP 함수에 해당 변수를 가져 오는 방법이 있습니까? 사전에

덕분에, 조나단

<?php 
    include "php-scripts/DBConnection.php"; 
    $con = getconnection(); 
    mysql_select_db("brokendi_BD", $con); 


    function getKarma() 
    { 
      $result = mysql_query("SELECT * FROM userpoints WHERE uid='getUID()'"); 
      $row = mysql_fetch_array($result); 
      $currentkarma = (int)$row['points']; 

      return $currentkarma; 
    } 

    function getUID() 
    { 
     global $user; 
     if ($user->uid) 
     { 
       $userID=$user->uid; 
       return $userID; 
     } 
     else 
     { 
       header('Location: http://brokendiamond.org/?q=node/40'); 
     } 
    } 

    function hasRole($roleID) 
    { 
      $usersid = getUID(); 
      $returnValue = false; 
      $result = mysql_query("SELECT * FROM users_roles"); 
      while ($row = mysql_fetch_array($result)) 
      { 
       if ($row['uid'] == $usersid) 
       { 
         if ($row['rid'] == $roleID) 
         { 
           $returnValue = true; 
           break; 
         } 
       } 
      } 
      return $returnValue; 
    } 

    function enoughKarma() 
    { 
      if (getKarma() >= $requiredKarma) 
      { 
        return true; 
      } 
      else 
      { 
        return false; 
      }  
    } 

    function buyRole() 
    { 
      $currentKarma = getKarma(); 
      $newkarma = $currentKarma - $requiredKarma; 
      $userID = getUID(); 
      mysql_query("UPDATE userpoints SET points = '$newkarma' WHERE uid='$userID'"); 
      mysql_query("INSERT INTO users_roles (uid, rid) VALUES ($userID, $roleID)"); 
    } 
    ?> 

    <script type="text/javascript"> 
    buyItem(1 , 0); 
    function SetStore() 
    { 


    } 

    Function buyItem(itemID,reqKarma) 
    { 
      if (<?php enoughKarma(); ?>) 
      { 
       <?php buyRole(); ?> 
      } 
      else 
      { 
       alert('You do not have enough Karma to buy this title.'); 
      } 
    } 
    </script> 

답변

4

PHP 작업을 수행하는 방법에 대한 아이디어를한다 제공해야하며, 자바 스크립트가 클라이언트 쪽, 서버 측 스크립트는 페이지가로드되기 전에 실행하여 자바 스크립트를 의미하는 변수를 전달할 수는 없지만 PHP 변수를 js에 전달할 수는 있습니다.

최선의 해결책은 아약스를 사용하여 PHP에 변수를 보내고 PHP 변수를 설정하면 문제가 해결되지 않지만 코드에서 창의성을 발휘하면 문제를 해결할 수 있습니다 .

+0

덕분에 그것을 볼 것이다 – Jonathan

+0

) 내가 그것을 조금 다른 해결하지만 sollution 내 길에 나에게 도움이, 감사) 다행 멋진 얻을 수 – Jonathan

+0

당신은 올바른 방향을 지적했습니다! –

1

당신이 (내가 you'r이 찾고 무엇을 의심) 페이지를 다시로드하거나 두 변수를 전달하여 PHP 스크립트에 대한 아약스 전화를 걸 수 있습니다.
당신이 jQuery를 사용하는 경우, this 당신에게 서버 측 스크립트를이

+0

덕분에, 나는 그것을 볼 것이다);) 내가 – Jonathan