2014-10-02 91 views
-1

我有一個變量$ string與fputcsv中csv文件形式的字符串相關聯。在$〜應變變量是這樣的:PHP - Post方法未傳遞完整值

$string='Epitope/Cluster,"Epitope ID" LEYIPEITLPVIAALSIAES,"35768,28983,35767" NILMQYIKANSKFIGITELK,"52929,27213,44284,52930" DIIDDFTNESSQKTTIDKIS,8659 LINSTKIYSYFPSVISKVNQ,"36647,31484" ILFLQWVRDIIDDFTNESSQ,"27043,79996"'; 

我想通過這個字符串稱爲csv_file.php另一個PHP文件。我現在用的就是:

echo'<form method="POST" action="csv_file.php">'; 
echo'<input type="hidden" name="csv_content" value='.$string.'>'; 
echo'<input type="submit" value="Download">'; 
echo'</form>'; 

但是,當我使用打印變量在其他PHP頁面:

$csv_content = $_POST['csv_content']; 
print($csv_content); 

我得到總是返回字符串打印,直到它有版本第一白色空間,所以它打印:

Epitope/Cluster,Epitope 

你知道如何解決這個問題嗎? 謝謝

+1

看看腳本生成的HTML代碼,您應該注意一些關於'value'屬性的內容......以及它與您用於其他屬性的符號的區別。 – CBroe 2014-10-02 20:12:20

回答

0

要在值中使用"屬性,你應該正確地使用它們周圍'。 目前您的'只會打破PHP字符串。

更好:

echo '<input type="hidden" name="csv_content" value=\''.$string.'\'>'; 

這也許不是最漂亮的解決方案,但它不應該打破你的格式。

+0

非常感謝你 – 2014-10-02 20:26:18

-1

問題是你的值沒有字符串封裝在你的標記。

value='.$string.' 

更改此

value="'.$string.'" 
+0

如果我這樣做,它打印「表位/羣集」,所以我仍然不知道如何解決它 – 2014-10-02 20:18:07

0

首先,逃避$string與HTML實體的雙引號。然後,圍繞該字符串加上雙引號:

$string = str_replace('"', '&quot;', $string); 
echo '<input type="hidden" name="csv_content" value="'.$string.'">';