2016-08-30 21 views
0

我已經嘗試從與JavaScript變量標籤進行選擇查詢,但它不能正常工作。如何訪問JavaScript變量在PHP我曾嘗試以下但不工作

有什麼不妥的地方

function method12() 
{ 
    var value12=document.getElementById('period').value 
    <?php 
    $con=mysql_connect("localhost","root",""); 
       if(!$con) 
        { 
        die('could not connect:'.mysql_error()); 
        } 

        mysql_select_db("db_loan",$con); 
        $sqlstr="select bankcode from tbl_master where loanaccountnumber='".value12."'"; 
        $result=mysql_query($sqlstr); 
        $row=mysql_fetch_array($result); 
        echo $row['bankcode']; 
    ?> 
    alert(value12); 
} 
+0

主要通過GET或POST請求發送到服務器的JS值,然後拿到價值這裏選擇查詢 –

+0

PHP在服務器中執行,然後頁面被髮送到客戶端並執行JavaScript代碼。你不能訪問「不在那裏」的變量。 – yuriy636

+0

PHP的JavaScript是一種客戶端和PHP是一個服務器端 –

回答

2

PHP運行服務器端。 JavaScript在請求頁面的用戶的瀏覽器中運行在客戶端。在執行JavaScript時,無論如何都不能訪問服務器上的PHP。請閱讀這篇文章,詳細瞭解client-side vs server-side coding

簡而言之會發生什麼事是這樣的:

你點擊你的辦公桌在你的計算機上的瀏覽器鏈接 瀏覽器創建一個HTTP請求,並將其發送到服務器在互聯網上 ,服務器檢查如果請求的是PHP頁面,他可以處理請求 ,PHP解釋器啓動 PHP解釋器將運行在您請求 頁面中所有的PHP代碼的PHP解釋器將不能運行任何JS代碼,因爲它沒有任何線索關於它 服務器會將解釋器彙集的頁面發送回您的瀏覽器 您的瀏覽器wi會呈現頁面並顯示給你 JavaScript是在您的計算機上 執行你的情況,PHP會寫JS代碼到網頁中,因此,當頁面在瀏覽器中呈現它可以被執行。到那時,你的JS片段中的PHP部分不再存在。它已經在服務器上執行了。它創建了一個包含SQL查詢字符串的變量$ result。你沒有使用它,所以當頁面被髮送回你的瀏覽器時,它就消失了。當頁面在瀏覽器中呈現時,請查看源代碼。你會發現在你放置PHP代碼的位置沒有任何東西。

做你希望做什麼的唯一方式可以是:

做重定向到PHP腳本或 做你希望被插入的值的AJAX調用PHP腳本 數據庫

+0

現在謝謝每一個我瞭解一些基本的,我必須嘗試設計我的頁面每一個 –

1

不能在PHP中使用JS變量。 JS代碼在客戶端運行,PHP代碼在服務器上運行。

做你想做什麼,你必須通過$ _ POST [「varname的」]或$ _GET [「varname的」]

相關問題