【发布时间】:2013-10-09 06:05:52
【问题描述】:
登录后,我在正文元素(在 login.php 中)设置了一个会话变量,如下所示:
session_start();
$_SESSION['Username'] = $_POST["Username"];
if(isset($_SESSION['Username']))
$loginTrue = 1;
else
$loginTrue = 0;
在每一页的顶部我都添加了这个
<?php
session_start(); //this was added after seeing many suggestions in stack overflow that session_start() has to be called at the top on each page. Though i tot calling once was sufficient.
if(isset($_SESSION['Username']))
$loginTrue = 1;
else
$loginTrue = 0;
?>
现在每当我从 login.php $_SESSION['Username'] 登录后重定向我的页面时,我不知道如何设置。我使用按钮单击重定向,如 onclick 执行 window.location = home.php
【问题讨论】:
-
可能是因为 $_POST["Username"] 是空的吗?尝试使用 $_POST['Username'] 看看是否可行。
-
在您收到 POST 的页面中执行
print_r($_POST)以检查它是否为空 -
不,它们都非常好,因为当我打印 $_SESSION['Username'] 时,它在登录页面中打印得非常好,当我登录时 $loginTrue 为 1,然后每当我重定向它时它变为 0在它重置。有没有类似重定向链接的东西,即window.location =“localhost:8080/home.php”???我应该强制使用http吗???顺便说一句,即使这样也没有用。我只是想知道!!!
-
好吧,伙计们,我以某种方式解决了它。我不知道我是怎么做到的,但我做到了。首先,我创建了 4 个网页,一个小网页只是为了检查是否支持会话变量。一旦我确认了这一点,我就做了下面的事情,我的原始网页开始工作,会话开始在所有页面的顶部非常重要。还可以在不同的浏览器中尝试会话活动。也可以通过关闭 Dreamweaver 进行检查。还要确保使用 而不是过渡和东西,并且会话开始在 doctype html 声明之前
标签: php session session-variables