会话不能在一个PHP页面上工作

会话不能在一个PHP页面上工作,php,session,Php,Session,这个登录脚本有什么问题?我有一个模态风格的iframe登录框,它是/login.php,我有一个/index.php 登录后,login.php重定向到index.php,但我看不到用户名。只要你好,客人。当我尝试登录时,它会显示您,用户名,已经登录了 login.php: <?php session_start(); require_once('connections/Main.php'); if(isset($_SESSION['username'])) { echo '&

这个登录脚本有什么问题?我有一个模态风格的iframe登录框,它是
/login.php
,我有一个
/index.php

登录后,login.php重定向到index.php,但我看不到用户名。只要
你好,客人
。当我尝试登录时,它会显示
您,用户名,已经登录了

login.php:

<?php session_start(); require_once('connections/Main.php');

if(isset($_SESSION['username'])) {

    echo '<div class="error_message">Attention! You, '.$_SESSION['username'].' are already logged in.</div>';
    echo "<br />";
    echo "Go <a href='javascript:history.go(-1)'>back</a> to the page you were viewing before this.</li>";

    exit();
}
?>

index.php:

<?php session_start(); 
   require_once('connections/Main.php'); 
     ?>

<div> Hello <?php   if(isset($_SESSION['username'])) { 
          echo $_SESSION['username']; }
                    else{ echo 'Guest'; } ?></div>

你好

用这个开始你的会话。

$_SESSION["im_going_in"]=true; 
$_SESSION["username"]=$username;//get data from db.
index.php

<?php
if($_SESSION["im_going_in"]) {
?>

  <?=strtoupper($_SESSION["username"])?>// welcome dear bla bla...

<?
}
?>

//欢迎亲爱的布拉布拉。。。

您正在调用两次
会话\u start()
,这是不必要的。登录后,将会话变量
登录
设置为
true
。然后使用

if($_SESSION['logged_in']){
 //Do what you want for the logged in user
}
诚然,您可以在一个login.php中完成所有这一切。有这样的东西:

//if reached from login form
if ($_POST['email']){
  //validate the user
  // if validates, log him in by:
    $_SESSION['logged_in'] = true;
    $_SESSION['email']= $_POST['email'];
  //do other fancy database save stuff
 }
//else show him login form
else{
  <form>
   //<input />.. etc
  </form>
}
//如果从登录表单到达
如果($_POST['email']){
//验证用户
//如果验证,请通过以下方式让他登录:
$\u会话['logged\u in']=true;
$_SESSION['email']=$_POST['email'];
//其他花哨的数据库保存东西吗
}
//否则给他看登录表
否则{
//等等
}

它没有重定向回,它说“回到历史”。许多浏览器缓存DOM,返回不会在服务器上产生新的请求。如果你链接到
/index.php
而不是javascript thingamayig,你会得到想要的行为吗?是的,它会将iframe重定向到index.php并显示正确的用户名,但是如果你在
框架(brrr)中,设置
target=“top”
,或者可能是
onclick,我如何使主页重定向=“window.top.location.reload(true)”