2013-12-12 46 views
0

就像問題所說,我似乎無法在下面的腳本中傳遞一個變量的值。如果我回顯變量,它按預期存在。如果我複製粘貼回顯值到$ my_var所在的代碼中,它就會起作用。但它不會使用$ my_var?!?!?在這個php腳本中不能傳遞值作爲變量

上下文代碼需要另一個文件來創建PDF,將其附加到電子郵件併發送,然後將其顯示在瀏覽器中。已刪除大部分的代碼爲簡潔

$my_var = $_POST['quote_number']; 
$filename = 'Quote_no' . $my_var . '.pdf'; 
$file = $_SERVER['DOCUMENT_ROOT'] . '/quotes/' . $filename ; 
require('instant_quote.php'); 
function send_quote($my_var) { 
    //my_function code 
    }; 
send_quote($my_var); 
header('Content-type: application/pdf'); 
header('Content-Disposition: inline; filename="' . $filename . '"'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Length: ' . filesize($file)); 
header('Accept-Ranges: bytes'); 
@readfile($file); 
+0

試過把它拿出來,仍然不起作用 –

回答

1

的語法在你的例子強調是有用的,你有不正確的匹配報價:

$filename = "Quote_no' . $my_var . '.pdf"; 

...應該是:

$filename = 'Quote_no' . $my_var . '.pdf'; 
+0

對不起,那是個錯誤我重新輸入了代碼,它不在我的實際代碼中 - 編輯爲顯示 –

+0

@Imaginate我在你的問題代碼中看不到任何區別,但是你是否嘗試過'var_dump($ _ POST)'以確保你的值實際存在並且不包含你不期望的任何東西(例如,兩端都有空白)? –

+0

var dump - 'array(11){[「name」] => string(0)「」[「company_name」] => string(0)「」[「design_level」] => string(5)「的內容基本「[」address「] => string(0)」「[」email「] => string(0)」「[」content「] => string(4)」none「[」type「] => string (7)「Landing」[「size」] => string(11)「single page」[「product_qty」] => string(4)「<30」[「action」] => string(13)「instant_quote」 [「quote_number」] => string(5)「W1741」}' –

1

不知道爲什麼這個工作,但它沒有...

header('Content-type: application/pdf'); 
header('Content-Disposition: inline; filename="' . $file . '"'); 
header('Content-Length: ' . filesize($filename)); 
@readfile($filename); 

剛剛從頭文件中刪除了傳輸編碼和接受範圍,並開始接受我的變量作爲值...去圖

+0

有趣...發佈的數據和這些頭髮送之間必須有一些衝突... +1自己工作它 –