首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP会话存储

PHP会话存储
EN

Stack Overflow用户
提问于 2013-11-02 03:38:49
回答 2查看 9.4K关注 0票数 0

好的,我想要完成的是一个简单的登录页面(adminlogin.php),然后转到一个小的php文件(session.php),它启动一个php会话并将发布的数据存储在会话变量中。完成后,php文件重定向到管理菜单页面(adminmenu.php)。在菜单页面上,我要检查是否设置了任何会话数据,这将在没有登录的情况下停止对管理部分的访问。我的问题是,session.php页面似乎没有将post值分配给会话存储,因为我被重定向到登录页面。

登录码

代码语言:javascript
复制
<?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')?>

会话码

代码语言:javascript
复制
<?php
    echo "start";
    session_start();
    $_SESSION['username'] = $_POST['user'];
    $_SESSION['password'] = $_POST['pwd'];  
    require('header.php');
    require('footer.php');
    header("Location: adminmenu.php");
?>

菜单代码

代码语言:javascript
复制
  if(!isset($_SESSION['username'])) {
    header("Location: adminlogin.php");

    } else {
    ...
    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-02 03:41:15

session_start之前不能有任何输出,因为它必须设置头部。删除您的echo语句,我打赌它一定会工作的

票数 4
EN

Stack Overflow用户

发布于 2013-11-02 04:18:54

好的,我已经弄清楚了问题的所在。

session_start()需要在每个使用会话存储的页面上调用之前

我假设它只需要初始化一个会话,但它实际上用于调用存储中的所有会话变量,以便可以使用它们。

谢谢你的帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19738720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档