【问题标题】:Server error 500 for header location标头位置的服务器错误 500
【发布时间】:2015-11-10 10:41:01
【问题描述】:

在我的项目中,我在一个地方使用以下代码行,但此代码服务器显示服务器错误 500。而我的代码是。

header("location:../../views/tileesDesign/viewAlbum.php?album='".$_GET['album']."'&com_id='".$_GET['com_id']."'&d_id='".$_GET['d_id']."'");

此行生成服务器错误,没有此行我没有错误。我认为标题位置查询字符串有问题。

那么,请帮我看看查询字符串应该如何在标头函数中定义?

【问题讨论】:

  • 在 header("Location: ......");或像这样exit(header("Location: ...."))
  • 你在标题后不久就死了()或退出()吗?
  • 检查您的 error.log 文件以获取有关 500error 的信息
  • 这是最后一行代码。

标签: php


【解决方案1】:

删除查询字符串参数值周围的单引号

header("location: ../../views/tileesDesign/viewAlbum.php?album=".$_GET['album']."&com_id=".$_GET['com_id']."&d_id=".$_GET['d_id']);

或者让它更容易阅读和调试

header("location: ../../views/tileesDesign/viewAlbum.php?album={$_GET['album']}&com_id={$_GET['com_id']}&d_id={$_GET['d_id']}");

并使用命令行中的示例代码并伪造一个包含所有必需出现的 $_GET 数组:-

<?php
//header("location: ../../views/tileesDesign/viewAlbum.php?album=".$_GET['album']."&com_id=".$_GET['com_id']."&d_id=".$_GET['d_id']);
$_GET = array('album' => 'aaa', 'com_id'=> 'bbbb', 'd_id'=>'ccc');

echo "location: ../../views/tileesDesign/viewAlbum.php?album=".$_GET['album']."&com_id=".$_GET['com_id']."&d_id=".$_GET['d_id'];
echo PHP_EOL;
echo "location: ../../views/tileesDesign/viewAlbum.php?album={$_GET['album']}&com_id={$_GET['com_id']}&d_id={$_GET['d_id']}";

从上述任一选项生成此 putput:-

location: ../../views/tileesDesign/viewAlbum.php?album=aaa&com_id=bbbb&d_id=ccc

location: ../../views/tileesDesign/viewAlbum.php?album=aaa&com_id=bbbb&d_id=ccc

【讨论】:

  • 它正在显示专辑和 com_id,但我得到的是 d_id=null 或空白。
  • 您检查过$_GET['d_id'] 确实包含一个值吗?
  • 您使用的是哪个选项?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-05
  • 1970-01-01
  • 2014-02-10
相关资源
最近更新 更多