当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法在php中只在变量满足特定条件的情况下重定向?

国仰岳
2023-03-14

我有点像

这可能吗?

if(this works){
echo "this works";
header( "refresh:5;url=wherever.php" );
}else{
echo "it didnt work";
header( "refresh:5;url=somewhereelse.php" );
}

共有1个答案

佘飞鸣
2023-03-14

不会,但只是因为您在尝试执行header()之前执行了echo,所以在发送了任何页面之后无法将头发送到浏览器。echo将启动将数据发送到页面的过程,任何事情也是如此,即使是在<?php之前的一个空格也会这样做

但假设在运行此代码之前没有其他输出发送到浏览器,则可以执行以下操作:

if($sometest){
    header( "refresh:5;url=wherever.php" );
    echo "this works";
}else{
    header( "refresh:5;url=somewhereelse.php" );
    echo "it didnt work";
}

然而,实际上,当您重定向到另一个页面时,回显将永远不会到达浏览器(当前页面),所以您可以这样做

if($sometest){
    header( "refresh:5;url=wherever.php" );
}else{
    header( "refresh:5;url=somewhereelse.php" );
}

如果您真的必须查看消息,您将不得不将其添加到重定向页面的querystring中,或者将其放入会话中,然后重定向页面将不得不查找消息并将其作为页面内容的一部分发送。

 类似资料:
  • 目前在我们的自动化框架中,我们需要有一种能力来控制cucumber中场景步骤的执行。 问题详情: 假设我们有以下步骤作为场景的一部分: 检查订单是否存在 创建订单 我想实现的是在步骤1中进行检查,如果系统中存在订单(通过DB Call),只需跳过整个场景并将其标记为通过/跳过。如果已经有一些符合标准,我们不想下订单。 目前我通过放置一个来处理它,如果我从DB获取Id,它会失败断言说ID已经存在。

  • 问题内容: 我正在使用构建Web POST参数的方法,但是有一些值仅在它们不存在的情况下才想添加。 效果很好,但是如果我将变量设为可选,如何防止将其添加到参数中?像这样的东西(伪代码): 我希望这已经足够清楚了,有人知道如何解决吗? 问题答案: 创建初始字母后,您必须单独添加密钥: Python没有语法将键定义为条件键;如果您已经按顺序拥有所有内容,则可以使用dict理解: 但这不是很可读。 另一

  • 这周我刚刚开始学习C#并且正在尝试运行一个简单的代码,当用户输入文本时,它会提示用户输入一个数字,或者当用户输入一个负数时,它会提示用户输入一个正数(因此,对于文本是一个布尔运算,对于负数是一个if语句)。如果他们输入了一个有效的(正)数字,程序将继续进行其余的步骤。 然而,在此代码中,如果用户输入一个负数,然后输入一个文本,然后输入另一个负数,依此类推,似乎会中断循环并继续下一个操作。 代码是一

  • 我在项目中定义了一个模型类。和往常一样,它有一些私有变量和公共的获取者和设置者 假设在其他类中我使用这个模型,就像 然后person的私有变量保存值“my name”,我使用类的public getter访问变量,如 所以据我所知的人。getMark()返回私有变量名的引用,因此如果我修改局部变量“localMark”,它将影响Person类的私有变量,因此它会破坏变量的私有属性 前任: 我猜大多

  • 考虑下面的代码: 运行时,它输出以下内容: 这很酷,我们可以很容易地转储一个结构,但是我的一些数据结构包含位掩码或其他不容易在基数10中读取的数据。对于位字段,读取它会更容易,它们的输出类似于。 有没有一种简单的方法可以获得这样的输出,而不直接在结构上实现trait(在另一种类型上实现trait就可以了)? 如果有必要,我可以使用不同的类型,但是我希望保持结构本身的调试特性像一样简单。

  • 我的意思是,这不是要知道列表是否排序(布尔值),而是像“排序”的比率,像统计学中的相关系数。 例如, > 如果列表中的项目按升序排列,则其比率为1.0