【问题标题】:How can I redirect based on condition in php?如何根据php中的条件重定向?
【发布时间】:2014-07-04 16:19:27
【问题描述】:

我有一些代码可以根据给定的条件执行操作:

 if ($_SERVER['REQUEST_METHOD'] != "POST"){

  #some kind of redirect to another page

 }

 else{

 #execute  code based on the post data
 #and then redirect to another page after it has finished
 }

header() 函数在这里对我不起作用,因为它必须是浏览器首先看到的东西,有没有其他方法可以做到这一点?

【问题讨论】:

  • 在模板中分配url并做js重定向。
  • 为什么不能在发送任何输出之前将这部分代码移动到脚本的顶部?下面带有 header() 的答案是最符合 php 的逻辑方式。
  • 修复您的代码,使其成为浏览器首先看到的内容
  • 该页面上实际上只有 php,但它一直给我这个错误:警告:无法修改标头信息 - 标头已由(输出开始于 /home/ind.php:2)在 /第 4 行的 home/ind.php
  • 当人们不知道答案时,他们是否只是标记你?我不知道我可以变得更加清晰和简单。无论如何,JS 的想法对我有用,所以我会使用它。谢谢。

标签: php redirect


【解决方案1】:

你能用 ob_flush 吗?

可能已经有其他内容输出到标题?

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,并且使用 jquery/ajax 来执行页面并在 .success(jquery/ajax 方法)分配 window.location.assign('localhost/yadayad.php') 时。然后我发现在我的 php 文件中回显 JavaScript window.location.assign 命令要简单得多。

    //user_signup.php
    if($_SESSION['user_completed_this_form_already'] == 'complete'){
         echo "<script>window.location.assign('localhost/yadayad.php');</script>";
    } 
    

    这种方法对我来说效果很好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-22
      • 2017-09-20
      • 1970-01-01
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2012-07-08
      • 2021-12-09
      相关资源
      最近更新 更多