doushou9028 2019-03-28 06:26
浏览 99
已采纳

添加两个头函数后,PHP“页面没有正确重定向”

I'm trying to check the url and if its missing any of my get parameters i am trying to redirect, and theres the second function which checks if folder parameter doesn't end up with "/" it adds it. But for some reason i get "The page isn’t redirecting properly" error in firefox and chrome for the main landing page without parameters. here's my code

<?php
//checking if none of the methods are present and assigning them to url
if (!isset($_GET['page']) || !isset($_GET['sort']) || !isset($_GET['type']) || !isset($_GET['folder']) || $_GET['folder']==="/" || $_GET['folder']==="\\" || $_GET['folder']==="uploads") {
    header('location:' . URL .'?page=0&sort=name&type=asc&folder=uploads/');
}
//Checking if core direcotry doesnt exists and creating it
if(!is_dir("uploads")){
  mkdir("uploads");
}

function endsWith($haystack, $needle)
{
    $length = strlen($needle);
    if ($length == 0) {
        return true;
    }
    return (substr($haystack, -$length) === $needle);
}
if (!endsWith($_GET['folder'], "/")) {
    $boom = explode("/", $_GET['folder']);
    $newurl = end($boom);
    header('location:' . URL .$newurl.'/');
}

I tried to remove the second function it works but i need to add slash in the end of folder parameter. How can i achieve this?

  • 写回答

1条回答 默认 最新

  • douyue7536 2019-03-28 06:50
    关注

    Changed the second function to this. And now it works

    function endsWith($haystack, $needle)
    {
        $length = strlen($needle);
        if ($length == 0) {
            return true;
        }
        return (substr($haystack, -$length) === $needle);
    }
    if (isset($_GET['folder'])) {
      if (!endsWith($_GET['folder'], "/")) {
        $boom = explode("/", $_GET['folder']);
        $newurl = end($boom);
        header('location: ' . URL .$newurl.'/');
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题