php - 有没有办法仅当变量满足特定条件时才在 php 中重定向?

标签 php if-statement redirect

我有类似的东西

这可能吗?

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

最佳答案

不,但只是因为您在尝试执行 header() 之前进行了回显,所以在发送任何页面后无法将 header 发送到浏览器。 echo将开始向页面发送数据的过程,就像任何东西一样,甚至是 <?php 之前的空格。会这样做

但是假设在运行此代码之前没有其他输出发送到浏览器,您可以这样做

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

但实际上,当您重定向到另一个页面时, echo 永远不会到达浏览器(当前页面),因此您可以这样做

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

如果您确实必须查看该消息,则必须将其添加到重定向页面的查询字符串中,或​​者将其放入 SESSION 中,然后重定向页面必须查找该消息并将其作为他们的页面内容。

关于php - 有没有办法仅当变量满足特定条件时才在 php 中重定向?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66602609/

相关文章:

PHP 和 Javascript 兼容的加密函数

node.js - 解析器抛出错误时 GraphQL 重定向

linux - nginx 和 linux 上不区分大小写的路径匹配

php - Laravel 更新字段,带有另一个字段值

javascript - 如何在 Raphael.js 中为文本应用大纲

javascript - 添加自定义 Phabricator 应用程序

windows - Windows批处理if语句,带有用户输入

javascript - 数组没有值时的 If 语句 (Javascript + HTML)

python - 如何将值更改为零但不在循环的第一次迭代中

amazon-web-services - AWS S3 GET 请求回退到不同的虚拟文件夹