2012-12-07 57 views
-1

這是我需要幫助的腳本的一部分,PHP變量的作品,只是不適用於鏈接。PHP變量在鏈接

$source_file = 'http://domain.tld/subfolder/<?php echo $_GET["m"]; ?>".png'; 

它不起作用。當腳本運行時,它運行它,而不是輸入m值,但是當我不在鏈接中時,它工作得很好。我能做些什麼來解決這個問題?

+1

** WARNING **你代碼(當糾正時)可能包含或成爲[跨站點請求僞造](http://en.wikipedia.org/wiki/Cross-site_request_forgery)漏洞的向量。 **從不**將未經過濾的用戶提供的數據傳遞給URL或作爲HTTP標頭的一部分。 – Charles

回答

3

由於您使用的是單引號,因此PHP將採用字面值。您可以使用此:

$source_file = 'http://domain.tld/subfolder/' . $_GET["m"] . '.png'; 
+0

更準確地說,他沒有使用PHP的連接,而是期待開放的PHP標記,即使已經在PHP中正確解析。即使在非文字中,他的代碼也會失敗。 –

+0

謝謝。一旦它讓我在12分鐘內,我會將你標記爲正確的答案。我知道這將是一個簡單的修復,我只是找不到任何東西。 – user1869381

+0

@ user1869381我建議花幾分鐘時間閱讀[字符串如何在PHP中工作](http://php.net/manual/en/language.types.string.php)。 – Kermit

0

?>後有一個錯誤"

不談,單拋在那裏直接VAR:

$source_file = "http://domain.tld/subfolder/$_GET[m].png"; 

我喜歡這種用.和做不必要的級聯。

乾杯

1

只要使用此:

$source_file = 'http://domain.tld/subfolder/' . $_GET["m"] . '.png'; 

您已經在PHP代碼,所以你一定不能重新<?php標籤,但這些字符串連接在一起的每一部分