好的,所以我想完成的是一个简单的登录页面(adminlogin.php),然后转到一个小的php文件(session.php),该文件启动php会话并将发布的数据存储在会话变量中。完成此操作后,php文件将重定向到管理菜单页面(adminmenu.php)。在菜单页面上,我检查是否设置了任何会话数据,这将停止对管理部分的访问而无需登录。我的问题是,session.php页面似乎没有将发布值分配给会话存储,因为我被重定向到了登录页面。
登入码
<?php
require('header.php');
?>
<section class="results">
<form id="login" method="post" action="session.php">
<fieldset id="login">
<legend>Admin Login</legend>
<label for="username">Username:</label>
<input type="text" name="user" id="user" size="20"><br />
<label for="password">Password:</label>
<input type="password" name="pwd" id="pwd" size="20"><br />
<input type="submit" id="login" value="Login" />
</fieldset>
</form>
</section>
<?php require('footer.php')?>
会话代码
<?php
echo "start";
session_start();
$_SESSION['username'] = $_POST['user'];
$_SESSION['password'] = $_POST['pwd'];
require('header.php');
require('footer.php');
header("Location: adminmenu.php");
?>
菜单代码
if(!isset($_SESSION['username'])) {
header("Location: adminlogin.php");
} else {
...
}
您之前没有任何输出,session_start
因为它必须设置标题。删除您的echo
声明,我敢打赌,它行得通
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句