首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP会话运行缓慢

PHP会话运行缓慢
EN

Stack Overflow用户
提问于 2016-09-23 23:52:31
回答 1查看 98关注 0票数 0

我已经开始学习PHP Sessions,recently.That真的帮助我正确地登录了。

我应该先给你链接:mk-appform.net16.net/login.php(你可以随意使用,这是一个一旦修复就可以更改pass的testing.Im )用户名:管理员密码:1234请测试它

问题是,当您没有登录并直接在地址栏中输入mk-appform.net16.net/advsearch.php时,我要求预先登录的页面内容对于它重定向到登录page.But的second.Then是可见的。您知道,我不希望这显示在任何需要登录的way.It中。

下面是login.php的PHP代码

代码语言:javascript
复制
<?php
   if (isset($_POST['submit']))
   {
     if(isset($_POST['user']) && isset($_POST['password'])) 
     {
         $user = $_POST['user'];
         $password = $_POST['password'];

         if(empty($user) || empty($password)) 
         {
           echo 'Please fill the form';
         } 
         else 
         {

         if($user == 'admin' && $password == '1234') 
          { // check the infos
            session_start();
           $_SESSION['user'] = 'admin';
           $_SESSION['password'] = '1234';
           echo 'Login Succeeded.Now redirecting to panel...';
          header("refresh:2; url=advsearch.php");
         } 
    else 
    {      
          echo 'Invalid Username or Password';
    }
   }
  }


   else 
   {
       echo 'Please use the form';
   }
   }
?>

以及,成功登录后显示的内容代码(advsearch.php)

代码语言:javascript
复制
<?php
 session_start(); 

 if(isset($_SESSION['user']) && isset($_SESSION['password']))  
    { 
       if($_SESSION['user'] == 'admin' && $_SESSION['password'] == '1234') 
        {
           header("url=advsearch.php");
        } 
       else 
        {
           session_destroy(); 
           echo 'Redirecting..';
        }
    } 
  else 
    { 

           header("refresh:0; url=login.php");
    }

?>

EN

回答 1

Stack Overflow用户

发布于 2016-09-23 23:58:09

header重定向不是即时的。浏览器需要一段时间才能开始关闭连接并启动新连接。这意味着在输出location标题之后,您在页面上输出的任何内容仍然可以查看。你必须在输出标题后中止你的脚本。例如:

代码语言:javascript
复制
<?php

if (need to redirect) {
    header('Location: login.php');
    echo 'redirecting to login page, please wait ...';
    exit(); // you need this
}

... regular page contents ...

简而言之,如果你不想让用户看到一些东西,那么一开始就不要输出它。不要依赖于一切都能正常工作(甚至是快速工作)。他们很少这样做。

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

https://stackoverflow.com/questions/39664914

复制
相关文章

相似问题

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