重定向功能不能很好地工作 - PHP

时间:2013-11-22 16:09:04

标签: php forms session http-headers

您好我有以下PHP代码:

 function redirect()
 {
     header("Location: index.php");
 }
 session_start();

 if(isset($_SESSION['userName'] ))
    redirect();


 if($_SERVER['REQUEST_METHOD'] == 'POST')
 {   //more code goes here...
   redirect();
  }

问题是函数redirect仅在以下条件下起作用:

if($_SERVER['REQUEST_METHOD'] == 'POST')

为什么以及如何解决?

谢谢!

3 个答案:

答案 0 :(得分:4)

你能试试吗,

    session_start();
    function redirect()
    {
        header("Location: index.php");
    }

    if(isset($_SESSION['userName'])){
        redirect();
    }elseif($_SERVER['REQUEST_METHOD'] == 'POST'){   
     //more code goes here...
     redirect();
    }

答案 1 :(得分:0)

否则会发生什么? 有什么错误吗? 有什么事情发生在那里吗?

我们需要更多信息!

这应该有所帮助:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
?>

答案 2 :(得分:0)

它在那种情况下工作,因为你在那种情况下调用它... 也许如果您使用一些标签,您可以看到原因

看看

//your function
function redirect(){
    header("Location: index.php");
}
//here your function end

//this is not part of the function
session_start();
if(isset($_SESSION['userName'] ))
    redirect();

if($_SERVER['REQUEST_METHOD'] == 'POST') {   
    //more code goes here...
   redirect();
}