使用查询字符串从PHP标头重定向中删除%20

时间:2013-03-17 16:13:04

标签: php redirect header

我有一个表单,我正在尝试提交到数据库。成功提交后,我希望页面重定向到包含提交数据的页面。我正在使用如下的查询字符串执行此操作:

header("location:palette.php?colID=$title");

生成如下网址: palette.php?colID = Funky%20Colours

PHP标头重定向是否有可能重定向到以下查询:

palette.php?colID=Funky-Colours

制作如下网址: palette.php?colID = Funky-Colors

如果是这样,有人可以提供一个例子

1 个答案:

答案 0 :(得分:3)

您只需执行以下操作即可:

header('Location: palette.php?colID='.urlencode(str_replace(' ','-',$title)));

但是在您的palette.php中,$_GET['colID']将会收到Funky-Colours而不是Funky Colours。因此,您需要再次使用str_replace()将短划线转换为空格。

那么,另一个问题是,你打算用破折号对那些列ID做什么?例如,提交的$titleSomething-With-Dashes,您的脚本会将这些破折号转换为空格。但要回答您的问题,是的,可以使用str_replace()执行此操作。