2011-03-27 80 views
0

如何將此$ _GET方法轉換爲$ _POST方法?將此鏈接轉換爲POST模式

$linkword .= "\n<A HREF=\"$self?letters=$alpha[$c]$letters&n=$n\">$alpha[$c]</A> "; 
+0

形式或JavaScript(AJAX) – 2011-03-27 04:59:18

回答

1

您無法通過在URL中$_POST數據,你必須使用捲曲(PHP),AJAX(JavaScript的),或類似的工具來構建完整的HTTP請求。

替代的解決方案

但是你可以建立一個小的表單提交,但你將不得不使用一個提交按鈕控制的「鏈接」,並使用一些隱藏的表單輸入。無論如何,您可以使用CSS重新設置按鈕樣式。

<form action="link/url.php" method="post"> 
    <input type="hidden" name="letters" value="value of letters" /> 
    <input type="hidden" name="n" value="value of $n" /> 
    <input type="submit" value="text of button" name="submit" /> 
</form> 
+0

我可以$ _ POST一個超鏈接? – homlyn 2011-03-27 05:02:18

+1

不,你不能使用'$ _POST'和一個簡單的超鏈接 – jondavidjohn 2011-03-27 05:03:03

+0

更新可能的短期解決方案 – jondavidjohn 2011-03-27 05:07:22

0

您無法使用URL參數發送數據。您將不得不使用一種方法設置爲POST的表單。然後點擊鏈接提交表格或使用按鈕。

解決方法是爲您的參數使用隱藏的表單元素,並在您點擊錨標籤時提交隱藏表單。

另一種解決方案是使用ajax發佈數據。如果你使用jQuery或一些庫,你可以這樣做。

0

而不是創建一個錨標籤。創建一個隱藏的表單

$linkword .= "\n<A HREF=\"$self?letters=$alpha[$c]$letters&n=$n\">$alpha[$c]</A>";

下面是一個簡單

<form name="hiddenform" method="POST" action="page.php"> 
    <input type="hidden" name="letters" value="<? echo alpha[$c].$letters; ?>" /> 
    <input type="hidden" name="n" value="<? echo $n; ?>" /> 
    <a onclick="document.forms['hiddenform'].submit();">Test Link <? echo $alpha[$c]; ?></a> 
</form> 

Jsfiddle Demo

+0

當簡單的提交按鈕做同樣的事情時,似乎沒有必要涉及js。 – jondavidjohn 2011-03-28 01:24:21

+0

@jondavidjohn,是的,你說得對。但OP想要從文本鏈接做,所以我用JS。此外,似乎還有另一種解決方案。 – Starx 2011-03-28 05:59:14