2013-10-18 22 views
1

實際上,我已經創造了一種我添加了一個按鈕「更新信息」 ,例如用戶的個人資料頁:如何從php變量中獲取值到我們的JavaScript文件?

<span id="username"> Username: <?php echo $username; ?> 
<span id="password"> Password: <?php echo $password; ?> 

在這個頁面最初我採取了用戶名和密碼使用PHP的值/來自數據庫的mysql命令。

現在,我已經創建了一個JavaScript文件更改ID的用戶名/密碼的innerHTML每當我點擊「更新信息」,我想添加像如波紋管:

function update() 
{ 

document.getElementById('username').innerHTML=' Username: <input type="text" id="uname" name="uname" value="<?php echo $username; ?>">'; 

} 

但我沒有得到用戶名的值,我只是在輸入文本字段中獲得相同的php腳本。

如何做到這一點,以獲得我直接在主頁面獲得的「$ username」的價值?

+3

您迴應屏幕上的密碼?安全問題。 – Raptor

+1

這應該起作用。您使用它時定義了變量嗎? –

+2

更糟糕的是:您將密碼存儲爲明文?! – Samuel

回答

0

你不能寫在<?php ..... ?>.js文件。它不會被執行。

它必須.PHP文件只要不然你可以包括腳本文件中通過include你的PHP文件,require

+1

請檢查http://stackoverflow.com/questions/4821711/php-tags-in-js-file – Parixit

1

更改爲喜歡。

document.getElementById('username').innerHTML=' Username: <input type="text" id="uname" name="uname" value="'+<?php echo $username; ?>+'">'; 
+0

什麼都沒有發生.. –

+1

就像@Hamza說的,如果代碼片段在.js文件中,這將無法正常工作。 –

+0

@Mevin Babu你正在寫這個不是在.js文件中工作,謝謝梅文。 – 2013-10-18 08:01:48

0

它無法正常工作,您不能在JavaScript文件中編寫PHP代碼。

你要打印PHP頁面(PHP擴展)裏面的值,你可以這樣做:

<script> 
var username = "<?php print $username ?>"; 
var password = "<?php print $password ?>"; 
</script> 

但要確保你消毒PHP值,也讓使用者暴露在XSS攻擊。 也考慮避免打印密碼,作爲規則。通常,當用戶想要更改密碼時,他/她必須在新的之前提供舊密碼。

+1

如果JS代碼在其他文件,那麼它將如何工作? – Ashish

+0

因爲範圍是窗口,所以是全局的。文件組織根本就不重要。 –

0
<span id="username"> Username: <?php echo $username; ?> 
<input type="hidden" name="usernameHidden" id="usernameHidden" value="<?php echo $username; ?>"/> 
<span id="password"> Password: <?php echo $password; ?> 

function update() 
{ 
alert(document.getElementById("usernameHidden").value); 
} 
+0

如果我只是將JavaScript函數放在同一個文件中,我的代碼已經可以工作。所以,做所有這些事情都是毫無價值的。 –

+0

ohh ..爲什麼不把這個值加入會話? – Ashish

+0

不!會議是壞的! –

相關問題