在我在一个地方的项目中,我使用以下代码行,但是这个代码服务器显示服务器错误500.我的代码是。
header("location:../../views/tileesDesign/viewAlbum.php?album='".$_GET['album']."'&com_id='".$_GET['com_id']."'&d_id='".$_GET['d_id']."'");
此行生成服务器错误,没有此行我没有错误。我认为标题位置查询字符串的问题。
那么,请教我如何在header函数中定义查询字符串?
答案 0 :(得分:2)
删除querystring参数值
周围的单引号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