非常容易的IF语句没有评估! PHP

时间:2013-05-12 19:41:29

标签: php if-statement response.redirect

我想在提交登录信息后将我的网站重定向到上一页。

  1. 我一直在寻找这个问题
  2. 我已经回复了$ url的内容,甚至做了strcmp,它评估为true(此处未显示)
  3. 问题:即使$ url == mlbmain.php或者course-website.php
  4. ,ELSE语句也会一直评估

    有什么建议吗?

    <?PHP
    require_once("./include/membersite_config.php");
    echo "</br> </br> </br> </br>";
    $url = isset($_GET['return_url']) ? $_GET['return_url'] : 'login.php';
    //url now == to /mlbmain.php OR /course-website.php
    $url = substr($url,1);
    //url now == to mlbmain.php OR course-website.php
    
    echo $url;  //Just to make sure
    $url = trim($url);  //trim it to make sure no whitespaces
    echo "</br>";
    echo $url;  //Just to make sure it's still the same
    
    if(isset($_POST['submitted']))
    {       
       if($fgmembersite->Login())
       {    
            if($url == "mlbmain.php"){
                $fgmembersite->RedirectToURL("mlbmain.php");    
            }   
            else if($url == "course-website.php"){
                $fgmembersite->RedirectToURL("course-website.php"); 
            }   
            else
                $fgmembersite->RedirectToURL("index.php");  
       }
    
    }
    
    ?>
    

3 个答案:

答案 0 :(得分:0)

既然你说

  

默认情况下似乎是指向index.php

问题可能在于

if(isset($_POST['submitted']))

if($fgmembersite->Login())

并且与$ url无关。

答案 1 :(得分:0)

我猜它在当前文件夹中找不到mlbmain.phpcourse-website.php,因此它会抛出404 not found,可能是您管理此错误以重定向到index.php

答案 2 :(得分:0)

按下“提交”按钮后,您正在发出POST请求,return_url变量将不再可用,这是通过GET请求设置的。您可以创建一个隐藏的输入字段,用于存储redirect_url并使用表单提交。