有人可以在我的代码中看到错误吗?
两个文件,使用JS在第一页上设置一个变量,我想将它传递给下一页。
用户名变量在此处设置,首先在变量中然后在会话中
username = wordOne + wordTwo + wordThree;
<?php $_SESSION['username'] = $username; ?>
然后我提交了将用户带到register-form.php
的表单<form method="POST" action="register-form.php">
<button>I like it! Make it my username.</button>
</form>
加载该页面时,会抓取用户名并将其作为值输出到输入中
<body onload="inputUsername()">
function inputUsername(){
var username = "<?php echo isset($_POST[username])?$_POST[username]:''; ?>";
console.log("I'm running " + username);
document.getElementById('inputUsername').value = username;
}
但是这并不起作用,因为变量username
不会在页面中持续存在。
答案 0 :(得分:1)
我看到的是你要求$_POST[username]
,但是从你没有传递它的表格中提取。我的意思是:
<form method="POST" action="register-form.php">
<input type="hidden" name="username" value="<?php echo $_SESSION['username']; ?>">
<button>I like it! Make it my username.</button>
答案 1 :(得分:0)
在当前代码中,您正在访问_POST变量,但是您在代码中设置了_SESSION变量。因此,可能的解决方法是: 1.在inputUsername()函数OR中检查_SESSION变量 2.在表单中设置用户名,以便在提交时将其发布到新页面。