2012-10-23 58 views
1

可能重複:
Why is PHP not replacing the variable in string?動態Location頭PHP

我想有我PHP重定向頭動態。目前,我有:

header('Location:message.php?ref=conversation&conv=$conv_id') 

但是,將用戶重定向到:

doamin.com/message.php?ref=conversation&conv="$conv_id" 

我在做什麼錯?

+0

的問題已經回答了,還要注意HTTP/1.1需要絕對URI(即使現代的客戶有足夠的智慧相對URI翻譯)。請參見[頭域定義](http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.30)。 – ACJ

回答

3

您正在將變量放在單引號中,更改爲雙引號。

0

不多,你應該通過VAR到字符串

header("Location:message.php?ref=conversation&conv=" . $conv_id) 
+0

沒有點與雙引號連接。只需插入。 – Prash

1

它變成這樣:

header("Location:message.php?ref=conversation&conv=$conv_id"); 

或者這樣:

header('Location:message.php?ref=conversation&conv=' . $conv_id); 

(我更喜歡後者,但這只是個人的事情。)

事情是,在PHP中,它解析字符串中的變量,如果您使用雙引號,並且不使用單引號。

1

任何在單引號像一個字符串

所以

header('Location:message.php?ref=conversation&conv=$conv_id') will not work 

應該

header("Location:message.php?ref=conversation&conv=$conv_id") 
0

你可以做這兩種之一:

header("Location:message.php?ref=conversation&conv=$conv_id"); 

OR

header('Location:message.php?ref=conversation&conv='.$conv_id); 

您不應將變量放在單引號'中。將其放置在雙引號",將工作

相關問題