实际上,我已经创建了一个用户配置文件页面,在其中添加了一个"更新信息"按钮例如:
<span id="username"> Username: <?php echo $username; ?>
<span id="password"> Password: <?php echo $password; ?>
在此页面中,最初我使用数据库中的php/mysql命令获取用户名和密码的值。
现在,我创建了一个JavaScript文件,每当我单击"更新信息"时,我都会更改id用户名/密码的内部HTML,我想添加如下所示的内容:
function update()
{
document.getElementById('username').innerHTML=' Username: <input type="text" id="uname" name="uname" value="<?php echo $username; ?>">';
}
但是我没有获得用户名的值,我只是在输入文本字段中获得相同的php脚本。
如何做到这一点才能获得我直接在主页中获得的"$username"的值?
将其更改为like。
document.getElementById('username').innerHTML=' Username: <input type="text" id="uname" name="uname" value="'+<?php echo $username; ?>+'">';
您不能将<?php ..... ?>
写入.js
文件。它不会被执行。
它必须仅在.PHP
文件中,否则您可以通过 include
将脚本文件包含在 PHP 文件中,require
它
不能工作,你不能在JavaScript文件中编写PHP代码。
您必须在php页面(.php扩展名)中打印值,您可以执行以下操作:
<script>
var username = "<?php print $username ?>";
var password = "<?php print $password ?>";
</script>
但请确保清理 PHP 值,否则将用户暴露在 XSS 攻击之下。通常还要考虑避免打印密码。通常,当用户想要更改密码时,他/她必须在新密码之前提供旧密码。
<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);
}