2009-02-27 88 views
0

在我的項目中我有這樣的情況。嵌入Javascript中的PHP

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    some coding goes here...... 
    Php ends here 
} 
</script> 

但它顯示了對象的預期錯誤。這有什麼問題?但我只給PHP標籤,它不會產生任何錯誤。請幫助我找出這個問題,在此先感謝...

+0

請使用正確的格式。 – Gumbo 2009-02-27 11:05:21

+0

感謝Formating,這是我期待 – Sakthivel 2009-02-27 11:17:18

回答

12

您試圖在基於客戶端的語言中嵌入基於服務器的語言。 這不起作用。

如果你可以更多地解釋你試圖實現的目標,那麼可能會有更好的解決方案,比如AJAXie類型的東西。

讓我解釋一下,因爲其他人已經給出了可以放在這裏的答案。

您可以將php嵌入您的* .php文件中,該文件將在服務器上解釋並在那裏解析。使用這個,你可以設置一些變量,這些變量可以在以後用於客戶端。就像我說的,雖然客戶端沒有一個用於解析和解析的路由,所以發送php到用戶不會工作。

但是,如果將此試圖把事情的工作,使你的PHP設置一些JavaScript值,那麼我會像加里·維羅和都鐸Olariu都表示,加入PHP標籤

<?php 
... PHP CODE... 
?> 

但是,你必須意識到這將在服務器上解釋,而不是在客戶端上解釋。因此,下面的代碼將警告「外部的PHP」,然後「內部的PHP」。然後

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    <?php 
    $message = "inside php"; 
    echo "alert('$message');"; 
    ?> 
} 
</script> 

發送給用戶的HTML將

<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert('outside php'); 
    alert('inside php'); 
} 
</script> 

希望這有助於。

2

我不知道JavaScript,但JS是客戶端語言,這意味着它會在您的網頁用戶查看它時在網絡瀏覽器中進行評估。 PHP是服務器端的語言,這意味着它將在承載網頁的計算機上進行評估。您的瀏覽器無法評估PHP代碼。 全部 PHP必須在服務器上完成。您必須無條件評估PHP,否則PHP無法評估。然後使用JavaScript來選擇要顯示的PHP輸出的哪一部分 - 這將實現我認爲您想要的效果。

0

PHP應該用正確的PHP標籤:

<?php include("customerpage.php"); $cc="us"; $clang="en"; $cpath="us"; ?> 

確保您的網頁有* .php擴展,並具有安裝了PHP的服務器上運行。

+0

,如果我鍵入,它不會顯示,那是你鍵入n的方式來顯示 – Sakthivel 2009-02-27 11:12:47

2

你缺少PHP的開始和標籤:

function fonsubmit() 
{ 
    alert('Out side PHP'); 
    //Here the php code starts 

    <?php 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 
    //Php ends here 
    ?> 
} 

請注意,你的PHP代碼將在服務器上

1

執行,你的JavaScript踢之前,另一種方法是,以顯示PHP內的Javascript。不要將PHP放入Javascript中,而是將Javascript放入PHP中。例如,你可以這樣做:

<?php 
echo '<script language="JavaScript"> 
function fonsubmit() 
{ 
    alert("outside php"); 
'; 

    // here is where you insert your PHP code 
    include("customerpage.php"); 
    $cc="us"; 
    $clang="en"; 
    $cpath="us"; 

echo ' 
} 
</script>'; 
?> 

當然,迴應Javascript邏輯讀不好。你也可以通過回顯指定Javascript的開頭,

<?php 
echo '<script language="JavaScript">'; 
?> 

然後插入你想要的Javascript。無論何時你想插入PHP代碼,都要用<?php?>標籤包圍它。