2017-05-30 38 views
0

我想使用javascript變量作爲php變量。我是echo變量然後它的打印。但是當我使用從數據庫中獲取的數據顯示其錯誤 注意:未定義指數:文件撰寫(一)如何在php變量中保存javascript變量

這裏我的代碼

的JavaScript

var i=0; 
function inc() 
{ 
    i+=1; 
} 
<?php $foo="<script>document.write(i)</script>"; ?> 

php

對於

echo $foo 

代碼工作不工作的

$i=$foo; 
$query="select * from TABLE where id = $i"; 
$result=mysqli_query($conn,$query); 
while($row=mysqli_fetch_row($result)) 
    { 
     echo $row[0]; 
    } 

那麼它表明這個錯誤公告:未定義指數:文件撰寫(一)

+0

PHP代碼在服務器端執行之前JavaScript代碼(在瀏覽器中)在你的情況下,如果你想要傳遞變量到php你可以使用GET變量,POST變量等等...... – smarber

+0

Ref this- https:/ /stackoverflow.com/questions/21721461/use-javascript-variable-in-php-code – mi6crazyheart

+0

[在PHP代碼中使用javascript變量]的可能重複(https://stackoverflow.com/questions/21721461/use-javascript-variable -in-php-code) –

回答

0

PHP是運行以生成頁面的服務器端代碼。 Javascript是客戶端代碼,在頁面發送到訪問者的瀏覽器後運行。 Javascript不能影響服務器端代碼,因爲服務器代碼在Javascript運行時運行完畢。如果您希望用戶的選擇在下次加載表單時更改PHP代碼的行爲,請在提交表單時通過$ _POST變量傳遞一個變量。

如果您希望您的PHP和Javascript代碼使用相同的值,請讓PHP代碼在需要使用它的任何Javascript運行之前,在頁面的<head>部分中寫入Javascript變量初始化。

-2
<script> 
var i=0; 
function inc() 
{ 
    i+=1; 
    return i; 
} 

</script> 
<?php 
$foo = '<script type="text/javascript">document.write(inc());</script>'; //Script function call which return the var i value to php variable 

echo $foo; 
?> 
+1

這不會按預期工作 - '$ foo'將包含文字字符串''''不是Javascript運行的結果。 – FKEinternet

+3

儘管此代碼可能會回答問題,但提供有關如何解決問題和/或爲何解決問題的其他上下文將提高​​答案的長期價值。 – Badacadabra