可能重复:
为什么 PHP 不替换字符串中的变量?
我想让我的 PHP 重定向标头动态。目前我有:
header('Location:message.php?ref=conversation&conv=$conv_id')
但这会将用户重定向到:
doamin.com/message.php?ref=conversation&conv="$conv_id"
我究竟做错了什么?
可能重复:
为什么 PHP 不替换字符串中的变量?
我想让我的 PHP 重定向标头动态。目前我有:
header('Location:message.php?ref=conversation&conv=$conv_id')
但这会将用户重定向到:
doamin.com/message.php?ref=conversation&conv="$conv_id"
我究竟做错了什么?
您将变量放在单引号中,更改为双引号。
把它改成这样:
header("Location:message.php?ref=conversation&conv=$conv_id");
或这个:
header('Location:message.php?ref=conversation&conv=' . $conv_id);
(我更喜欢后者,但这只是个人的事情。)
问题是,在 php 中,如果您使用双引号,它会解析字符串中的变量,而如果您使用单引号则不会。
单引号中的任何内容都像字符串一样
所以
header('Location:message.php?ref=conversation&conv=$conv_id') will not work
应该
header("Location:message.php?ref=conversation&conv=$conv_id")
不多,你应该将 var 传递给字符串
header("Location:message.php?ref=conversation&conv=" . $conv_id)
您可以执行以下两项之一:
header("Location:message.php?ref=conversation&conv=$conv_id");
或者
header('Location:message.php?ref=conversation&conv='.$conv_id);
您不应该将变量放在单引号'
中。将其放在双"
引号中,将起作用