2013-10-18 23 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

不!会议是坏的! –

相关问题