2017-02-23 125 views
-1

我一直在嘗試從這個javascript中使用「user」變量,以便我可以在我的php腳本中使用它。我想在php腳本中回顯用戶變量。我無法這樣做,因爲我一直在試圖echo $ user; 。我也無法在網上找到任何東西來幫助我。在PHP中使用javascript var

alert("Welcome again " + user); 

相反警戒我想在屏幕上打印歡迎再次的用戶(用戶名) 謝謝

<!DOCTYPE html> 
<html> 
<head> 
<script> 

    function setCookie(cname,cvalue,exdays) { 
    var d = new Date(); 
    d.setTime(d.getTime() + (exdays*24*60*60*1000)); 
    var expires = "expires=" + d.toGMTString(); 
    document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 
    } 

    function getCookie(cname) { 
     var name = cname + "="; 
     var decodedCookie = decodeURIComponent(document.cookie); 
     var ca = decodedCookie.split(';'); 
     for(var i = 0; i < ca.length; i++) { 
     var c = ca[i]; 
     while (c.charAt(0) == ' ') { 
     c = c.substring(1); 
     } 
    if (c.indexOf(name) == 0) { 
     return c.substring(name.length, c.length); 
    } 
    } 
    return ""; 
} 

    function checkCookie() { 
    var user=getCookie("username"); 
    if (user != "") { 
     alert("Welcome again " + user); 
    } else { 
     user = prompt("Please enter your name:",""); 
     if (user != "" && user != null) { 
      setCookie("username", user, 30); 
     } 
    } 
} 

    </script> 
    <?php echo "Welcome back : ".$user;?> 
    </head> 
    <body onload="checkCookie()"> 
    </body> 
    </html> 
+2

請解釋一下你的迴音是什麼意思?回聲是一個PHP命令,警報是JavaScript。從來沒有兩個人會遇到 – RiggsFolly

+0

對不起,我已編輯我的問題 – xenon

回答

1

我認爲你可以使用

<script> 
    document.write("Welcome again " + user); 
</script> 

代替警報如果你想在屏幕上打印它。

還是你真的想用PHP函數echo?

+0

是的我真的需要把它放在PHP – xenon

0

好吧,如果你需要使用PHP打印的變量,你需要將用戶重定向到PHP頁面的URL參數,像這樣:

window.location.href="index.php?uname=+user+";

,然後得到的參數:

if(isset($_GET['uname'])) { 
    $uname = $_GET['uname']; //after filtering and validating it of course 
} 

然後呼應它:

echo $uname; 
0

我的事情你對JavaScript和PHP的執行方式(以及在哪裏)存在巨大的誤解。

當客戶端(很可能是瀏覽器)請求頁面時,PHP會在服務器上執行。之後整個頁面(包括你的JavaScript)被髮送到客戶端,這是一個完全的其他計算機(通常)。

然後執行JavaScript。因此,文件中的PHP代碼無法訪問JavaScript變量。

你絕對會做更多這樣的:

  • 客戶端從服務器接收頁面
  • 客戶端執行JavaScript和某種程度上決定了用戶名。
  • 客戶端使用用戶名作爲參數向調用PHP頁面的服務器發出另一個請求。
  • 在服務器上,你可以處理這個用戶名的參數,並用它來處理你想要的。
0

你爲什麼不從餅乾閱讀:

<?php echo "Welcome back : ".($_COOKIE['user']!='' ? $_COOKIE['user'] : 'Guest');?>