簡體   English   中英

如何將返回的Javascript函數分配給PHP變量並在SQL查詢中使用?

[英]How to assign a returned Javascript function to a PHP variable and use in an SQL Query?

我使用Javascript獲取“ member_id” URL參數,然后需要將該值分配給我在SQL查詢中使用的PHP變量。 當我簡單地回顯PHP變量時,一切看起來都不錯,但是如果嘗試在通過POST提交的SQL查詢中包含PHP變量,則SQL Query會出錯。

    <script>
var param1var = getQueryVariable("member_id");
function getQueryVariable(variable) {
  var query = window.location.search.substring(1);
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    if (pair[0] == variable) {
      return pair[1];
    }
  } 
  alert('Query Variable ' + variable + ' not found');
}
</script>

<?php $foo="<script type='text/javascript'>
document.write(getQueryVariable('member_id'));
</script>";
?>

SQL錯誤:*您的SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊,以在'text / javascript'> document.write(getQueryVariable('member_id'))附近使用正確的語法; ')'在第1行*

PHP在服務器上執行,Javascript在客戶端上執行。 您的php chunklet所做的全部工作就是輸出一小段Javascript。 該javascript不在服務器上執行。 在PHP關閉之后很長時間,它就被發送到客戶端並在瀏覽器中執行。

要將數據從Javascript發送回PHP,必須使用AJAX調用或某種形式的常規表單提交。

這是因為PHP在服務器上運行,而JS在客戶端上執行。 順便說一句,您可以用其他方式做事,所以在JS中:

<script type="text/javascript">
    var myval = '<?php echo $myphpval ?>';
</script>

這是可能的,因為PHP在JS在客戶端執行之前先在服務器上執行。 但是,如果要將JS值發送到PHP腳本,則需要在DOM加載后執行此操作,通常是通過AJAX調用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM