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

Dav*_*vid 2 php redirect header

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

header("location:palette.php?colID=$title");
Run Code Online (Sandbox Code Playgroud)

它生成一个类似以下的 URL:palette.php?colID=Funky%20Colours

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

palette.php?colID=Funky-Colours
Run Code Online (Sandbox Code Playgroud)

生成如下 URL:palette.php?colID=Funky-Colours

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

rat*_*oss 5

您只需执行以下操作即可做到这一点:

header('Location: palette.php?colID='.urlencode(str_replace(' ','-',$title)));
Run Code Online (Sandbox Code Playgroud)

但在你的身上palette.php$_GET['colID']将会收到Funky-Colours代替Funky Colours。因此,您需要再次使用str_replace()将破折号转换为空格。

那么,另一个问题是,您打算如何处理这些带有破折号的列 ID?例如,$title提交的是Something-With-Dashes,您的脚本会将这些破折号变成空格。但要回答你的问题,是的,可以使用str_replace()来做到这一点。