2012-03-16 35 views
1

完全按照標題所說,我需要把PHP由PHP呼應的JavaScript內的內部把PHP的JavaScript多數民衆贊成在PHP內

例如:

<? 
echo ('<script language="javascript" type="text/javascript"> 
if (something) then (some php)') 
?> 

那不是真正的代碼只是可能幫助明白,並且請注意如果可能的話,嘗試這種方式的最佳方式。

+1

我說你想做什麼,然後人們會告訴如何做,不像你如何建議。 – 2012-03-16 10:07:50

+0

我剛剛用一個例子更新了我的答案。 – jackJoe 2012-03-16 10:17:40

+0

哇。 Codeception。雖然這是可接受的語法,但它可能無法按照您希望的方式工作。它會先生成PHP,然後運行js。所以,你可能需要'if(something == $ php_variable)'然後($ php_variable_that_tells_js_to_do_something)''。 javascript不會運行php代碼,所有的php代碼都會在JS之前運行。 – rgin 2012-03-16 10:20:22

回答

5

你不能做到這一點,PHP是一個服務器端語言,這意味着它呈現的頁面加載,而不是之後,當。

該解決方案可以通過AJAX調用PHP,PHP可以有案例條件,然後它會呈現你想要的。

例子:

的JavaScript(使用jQuery):

$(".yourbutton").click(function(event){ 
     event.preventDefault(); 

     $.post("yourPHP.php", {var: somethingdynamicpassedviajavascript}, 
      function(data){ 
       //get ther result 
       $("#yourdiv").html(data); 
      }, "html"); 
    }); 

這樣做有什麼地方click事件弄成一個名爲 「yourbutton」 級,當你點擊的是,它會通過一個AJAX帖子調用一個外部PHP,發送一個var(在這個例子中),你可以發送一些動態的東西,用某些var改變「somethingdiynamicpassedviajavascript」。

PHP(yourPHP.php):

$myvar = $_REQUEST['var']; 

//do your cases here: 

switch ($myvar) { 
    case "1": 
     echo "this is for the case 0"; 
     break; 
    case 1: 
     echo "this is for the case 1"; 
     break; 
} 

這裏你得到的變種,並根據情況,發出不同的輸出。 請注意,這可能需要添加POST和其他防破壞方法的測試...

+0

我不知道我的問題是否正確,但是可以根據PHP中的計算構建腳本,對吧? – m90 2012-03-16 10:08:20

+0

以及問題是,我有服務器代碼運行,並在中間我想獲得一些用戶輸入的基礎上,事情是怎麼回事,然後我想繼續與服務器的頌歌基於用戶放入。 – Osman 2012-03-16 10:08:39

+0

沒想到阿賈克斯,生病給我一個嘗試,謝謝。 – Osman 2012-03-16 10:10:55

-3

U可以試試這個

<?php 
echo ('<script language="javascript" type="text/javascript"> 
if (something) then (some php)') 
echo ('</script>'); 
?> 
0

是的,你可以這樣做..你的php scirpt生成/ echoe JavaScript代碼在你的HTML頁面。 你只需要使用單引號和雙引號玩,逃避他們正確 在大量的腳本,這是相當混亂 - 更好地把你的JS代碼在一個單獨的JS文件

0

如果你想動態地創建基於一個javascript在某些情況下,你正在尋找的東西此鏈接:

<script language="javascript" type="text/javascript"> 
<? 
    if ($something == $somethingelse) 
    { 
     echo 'var something = 10;'; 
    } 
    else 
    { 
     echo 'var somethingelse = 25;'; 
    } 
?> 
</script> 

如果你是通過JavaScript ...這不能真正做到以執行PHP代碼,充其量可以使用PHPjs效仿PHP -功能。

相關問題