我有类似的东西
这可能吗?
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/