Php 会话变量通过POST持久化
有人能在我的代码中看到错误吗 两个文件,一个变量使用JS在第一个页面上设置,我想将其传递到下一个页面 用户名变量在此处设置,首先在变量中设置,然后在会话中设置Php 会话变量通过POST持久化,php,variables,post,Php,Variables,Post,有人能在我的代码中看到错误吗 两个文件,一个变量使用JS在第一个页面上设置,我想将其传递到下一个页面 用户名变量在此处设置,首先在变量中设置,然后在会话中设置 username=wordOne+wordTwo+wordThree; 然后我提交表单,该表单将用户带到register-form.php 我喜欢!让它成为我的用户名。 当页面加载时,用户名被抓取并作为值输出到输入中 函数inputUsername(){ var username=“”; log(“我正在运行”+用户名); doc
username=wordOne+wordTwo+wordThree;
然后我提交表单,该表单将用户带到register-form.php
我喜欢!让它成为我的用户名。
当页面加载时,用户名被抓取并作为值输出到输入中
函数inputUsername(){
var username=“”;
log(“我正在运行”+用户名);
document.getElementById('inputUsername')。值=用户名;
}
但是这不起作用,因为变量
username
没有在页面中持久化。我看到的是,您要求$\u 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>
在当前代码中,您正在访问_POST变量,但在代码中设置了_SESSION变量。因此,可能的解决方案是:
1.检查inputUsername()函数中的_会话变量或
2.在表单中设置用户名,以便在提交时将其发布到新页面。如何在第一页中设置用户名变量?它是用JavaScript设置的。
<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;
}
<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>