【问题标题】:$variable = header location$variable = 标题位置
【发布时间】:2013-06-02 20:50:57
【问题描述】:

我可以找到数百个“插入到标头位置”的示例,但我没有找到 $variable = header 位置的任何示例。

这可能吗:

$error=header('Location: http://www.example.com/error.php');

如果在 mysql 中找不到行,基本上我有 3 个条件。

所以我设置了3个条件:

if condition1 $error="a statement"

if condition2 $error="SELECT data FROM table WHERE data= 'default'";

if condition3 $error=header('位置:example.com/error.php');

然后 if($result->num_rows =0) $error

在我的情况下,$error 可能是 3 种不同的东西,其中之一是“重定向到错误页面”,但 $error=header('Location:blah'); 会导致 500 服务器错误。

我更改了我的代码,以便我可以以传统方式使用标头位置,但仍然想知道$var = header 位置是否可行。

提示问题的原始代码已被覆盖,我不再贴了。

谢谢 汤姆

【问题讨论】:

  • 你希望它做什么?是的,有可能,它可能不会做你认为应该做的任何事情。
  • 请从这个文件中发布更多代码,以便我们识别问题可能是什么。
  • 我已经完全重写了代码,所以我不再发布它了。我可以重建它,但由于我以蜗牛的速度编写代码,你将不得不等待几天。我的php知识非常有限。

标签: php


【解决方案1】:

Header 返回 void 类型。你不能指望$error 是除了null 之外的任何东西。

如果您收到 500 错误,它是由其他原因引起的(语法错误?)。

【讨论】:

    【解决方案2】:

    你不能将'header'函数分配给任何东西,因为它总是返回void。有点没用。

    【讨论】:

    • 一定是我找不到任何例子的原因。在我的搜索中,我也找不到任何这样的帖子说它不能完成。感谢所有回复的人。
    【解决方案3】:

    http://php.net/manual/de/function.header.php

    header() 返回 void,所以,你可以写 $error=header('Location: http://www.example.com/error.php');,但它不会做太多。

    header('Location: ...'); 之后,您应该致电exit;

    【讨论】:

    • exit;(是关键字,所以不需要())
    • 我知道,但我通常加()
    • 你可以 $error = header(...),它不会很多。
    • 可能是 OP rewrote header 函数在其中返回了一些东西。
    • @Dave 现在这是非常糟糕的假设。 :P
    猜你喜欢
    • 2012-04-28
    • 1970-01-01
    • 2016-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2021-10-10
    • 1970-01-01
    相关资源
    最近更新 更多