【问题标题】:Redirect if $s is invalid如果 $s 无效则重定向
【发布时间】:2015-03-15 06:51:29
【问题描述】:

这是来自 ajax 脚本的代码,经过所有必要条件的计算后,创建并使用以下代码显示 $n 和 $view

<?php
//ajax conditions
?>
<data>
<handler value="show_view"/>
<item id="view<?php echo $n;?>" 
value="<?php echo rawurlencode($view);
        if (strpos($s,'invalid') !== false) 
        {
         echo "Hit Invalid";
         $url = $_SERVER['HTTP_REFERER'];
         header( "Location: $url" ); //<--not working   
         exit;
        }
      ?>"/>
<item id="end" value=""/>
</data>

我在脚本中有 $s..如果变量 $s in invalid..script 工作正常但重定向不起作用,我想做的只是重定向脚本。 请提出一些解决这个问题的方法。提前致谢。

【问题讨论】:

  • 你应该让 JavaScript 来做重定向,因为你已经发送了标头,所以你无法工作,所以你不能发送位置标头。要么首先输出位置标头,要么添加 javascript 以重定向到 $url
  • 可能是因为您在尝试设置标题时已经在文档(正文)的中间?你能添加你得到的错误吗?顺便说一句:我确定这是重复的 - 肯定已经有类似的问题了。

标签: php html ajax redirect header


【解决方案1】:

为什么不把你有条件的标题放在最上面呢?对于位置header,它需要先输出,然后再输出。

由于我不确定您尝试通过向value=" 添加内容来完成什么,如果您只想快速重定向,您可以将其交给 javascript 来完成。

value="<?php echo rawurlencode($view);?>" />
<?php
if (strpos($s,'invalid') !== false) 
{
?>
    <script>
      top.window.location = '<?php echo $_SERVER['HTTP_REFERER']; ?>';
     </script>
<?php 
} 
?>

我建议重新访问您尝试做的事情并以另一种方式解决它,因为这并不理想。

【讨论】:

    猜你喜欢
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多