这是我的代码。这是在登录页面。
success: function (result) {
var dataRID;
dataRID = result;
ridAppList = JSON.stringify(dataRID);
alert(ridAppList);
},
这是在点击登录按钮后打开的BAMainPage。
session_start();
if (isset($_POST['username'])) {
$_SESSION['username'] = $_POST['username'];
}
<form action="BAMainPage.php" method="post">
<button type="submit" id="login" onclick="loginfunction()" >Log In</button>
<script>
function loginfunction() {
if(document.getElementById('username').value!=="") {
//location.href="http://localhost/bhbonlineretailphp/BAMainPage.php";
} else {
alert("failed");
}
}
</script>
</form>
但是,在打开时,BAMainPage会显示此错误。
session_start();
echo $_SESSION['username'];
为什么没有定义用户名?我已将值保存到Notice: Undefined index: username in C:\xampp\htdocs\BHBOnlineRetailPHP\BAMainPage.php
。
答案 0 :(得分:1)
看起来您要将您的用户名发布到BAMainPage.php,这意味着您需要从POST中分配用户名,而不是在您提交表单的同一文件中
所以只需移动
session_start();
if (isset($_POST['username'])){
$_SESSION['username'] = $_POST['username'];
}
到BAMainPage然后回复它,你就可以看到它,从那里你就可以在其他地方继续会话而$SESSION['username ']
会跟着你
答案 1 :(得分:0)
早些时候它没有得到你的$ _POST ['用户名']。
您的登录操作是BAMainPage.php。因此,只要您在此处获得表单POST数据,就应该在此页面中编写会话,而不是在上一页中编写。
session_start();
echo $_SESSION['username'];
之后你可以写:
<%= "a,b,c".split(',') %>
在您想要的任何页面中。
答案 2 :(得分:0)
[假设您忘记在发布的代码中包含一些表单元素...]
此代码永远不会执行:
$_SESSION['username'] = $_POST['username'];
因为您从未将表单发布到该页面。您将其发布到其他页面:
<form action="BAMainPage.php" method="post">
因此,您可以在BAMainPage.php
访问$_POST['username']
。基本上,您不需要在此交互中使用会话状态。表单值直接发送到BAMainPage.php
。